You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by gi...@apache.org on 2025/03/16 11:24:40 UTC

(ambari-website) branch asf-site updated: Automated deployment: 8e639817db83d858e1b81d3bf0a5cb0069f4aefc

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/ambari-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 29272c5  Automated deployment: 8e639817db83d858e1b81d3bf0a5cb0069f4aefc
29272c5 is described below

commit 29272c50a8a295dd35ba84df08a7048443a50a30
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Sun Mar 16 11:24:34 2025 +0000

    Automated deployment: 8e639817db83d858e1b81d3bf0a5cb0069f4aefc
---
 .asf.yaml                                          |   3 -
 404.html                                           |  15 +-
 assets/css/styles.ac45b9c0.css                     |   1 -
 assets/css/styles.b0dee94f.css                     |   1 +
 ...w-versions-ee6dced15de3279f1806ded490d3a6e9.jpg | Bin 0 -> 24509 bytes
 assets/js/0058b4c6.20dc01d6.js                     |   1 +
 assets/js/0176d178.30e5364a.js                     |   1 +
 assets/js/0176d178.4fa993b5.js                     |   1 -
 assets/js/018161c8.62548e3c.js                     |   1 -
 assets/js/018161c8.779386cb.js                     |   1 +
 assets/js/02dfd029.7be35534.js                     |   1 -
 assets/js/02dfd029.e39a174a.js                     |   1 +
 assets/js/031ea49b.763075cd.js                     |   1 -
 assets/js/031ea49b.e5f3fa37.js                     |   1 +
 assets/js/04a8b3d6.806f8a16.js                     |   1 +
 assets/js/04a8b3d6.8da64394.js                     |   1 -
 assets/js/04c1d21d.4516384e.js                     |   1 -
 assets/js/04c1d21d.df15a44f.js                     |   1 +
 assets/js/05036904.22e6b070.js                     |   1 -
 assets/js/05036904.99113121.js                     |   1 +
 assets/js/050819f5.23e76a27.js                     |   1 -
 assets/js/050819f5.e44e4e48.js                     |   1 +
 assets/js/054dceaf.759d7ec8.js                     |   1 -
 assets/js/054dceaf.c087e47d.js                     |   1 +
 assets/js/0558ea97.13ec5fe2.js                     |   1 -
 assets/js/0558ea97.530a3cdf.js                     |   1 +
 assets/js/060fefe4.e0bf5e34.js                     |   1 -
 assets/js/060fefe4.fb57a0aa.js                     |   1 +
 assets/js/074d2ca8.08299612.js                     |   1 -
 assets/js/074d2ca8.c4992bee.js                     |   1 +
 assets/js/0756658a.66f0da04.js                     |   1 -
 assets/js/0756658a.6cdb2eaf.js                     |   1 +
 assets/js/08dc72c7.4943d166.js                     |   1 -
 assets/js/08dc72c7.f83bf7dc.js                     |   1 +
 assets/js/0a97c556.0eb69128.js                     |   1 +
 assets/js/0a97c556.6ff01e98.js                     |   1 -
 assets/js/0b145710.77c97315.js                     |   1 +
 assets/js/0b145710.c5cb5ae0.js                     |   1 -
 assets/js/0b57a398.ac39c956.js                     |   1 -
 assets/js/0b57a398.b529de17.js                     |   1 +
 assets/js/0d1d810c.733c7ff2.js                     |   1 -
 assets/js/0d1d810c.df4cdd3e.js                     |   1 +
 assets/js/0d432826.57087e4c.js                     |   1 -
 assets/js/0d432826.8f4e90c6.js                     |   1 +
 assets/js/0e036f0e.517ed3be.js                     |   1 +
 assets/js/0e036f0e.f4ef53b3.js                     |   1 -
 assets/js/0e2e07dc.3b17434d.js                     |   1 -
 assets/js/0eb97e7c.69349ad7.js                     |   1 -
 assets/js/0eb97e7c.da49cd1b.js                     |   1 +
 assets/js/0ed705e8.24ccd2b8.js                     |   1 +
 assets/js/0ed705e8.bc263cb5.js                     |   1 -
 assets/js/1127ee51.4744ee7a.js                     |   1 +
 assets/js/1127ee51.8bc7e92d.js                     |   1 -
 assets/js/1133a352.52d7b484.js                     |   1 -
 assets/js/1133a352.7f6a445e.js                     |   1 +
 assets/js/119f619e.3faf5e5d.js                     |   1 +
 assets/js/119f619e.6b9efa7f.js                     |   1 -
 assets/js/13d2e1ac.293bd1c6.js                     |   1 -
 assets/js/13d2e1ac.6c770dd2.js                     |   1 +
 assets/js/143af518.287bc468.js                     |   1 +
 assets/js/143af518.76b1a04a.js                     |   1 -
 assets/js/14ad8e33.1a6aa3f4.js                     |   1 -
 assets/js/14ad8e33.c9e8279c.js                     |   1 +
 assets/js/17896441.1d4988c7.js                     |   1 +
 assets/js/17896441.8d5b5172.js                     |   1 -
 assets/js/1834de86.1962b419.js                     |   1 +
 assets/js/1834de86.a7886314.js                     |   1 -
 assets/js/1850bd86.24595e7a.js                     |   1 -
 assets/js/1850bd86.ea787032.js                     |   1 +
 assets/js/18fb91db.37d7a902.js                     |   1 -
 assets/js/18fb91db.9d6a51c2.js                     |   1 +
 assets/js/1a5a7326.c4fac0b6.js                     |   1 +
 assets/js/1a5a7326.f8de3ba3.js                     |   1 -
 assets/js/1bd7c06f.7c94c792.js                     |   1 -
 assets/js/1bd7c06f.b1948895.js                     |   1 +
 assets/js/1be78505.bf4c93d0.js                     |   1 -
 assets/js/1ce575d4.3db10770.js                     |   1 -
 assets/js/1ce575d4.ad4fd754.js                     |   1 +
 assets/js/1cf810d7.20a8aef2.js                     |   1 -
 assets/js/1cf810d7.d4480ef5.js                     |   1 +
 assets/js/1de16fe7.5a2c26da.js                     |   1 +
 assets/js/1de16fe7.e515437b.js                     |   1 -
 assets/js/1df93b7f.35f058de.js                     |   1 +
 assets/js/1df93b7f.f0c90208.js                     |   1 -
 assets/js/1f36918c.37c9e33f.js                     |   1 -
 assets/js/1f36918c.fd5cb793.js                     |   1 +
 assets/js/1f6191e0.bf41ba58.js                     |   1 -
 assets/js/1f6191e0.ff22c91c.js                     |   1 +
 assets/js/20029b4c.175f6437.js                     |   1 -
 assets/js/20029b4c.da3028b3.js                     |   1 +
 assets/js/24854937.24e53cfe.js                     |   1 +
 assets/js/24854937.aed07d73.js                     |   1 -
 assets/js/24fbc004.0177fa74.js                     |   1 +
 assets/js/24fbc004.73f43df3.js                     |   1 -
 assets/js/265a250b.46cfd40d.js                     |   1 +
 assets/js/265a250b.d4491095.js                     |   1 -
 assets/js/26769510.600612cb.js                     |   1 -
 assets/js/26769510.e9c31ced.js                     |   1 +
 assets/js/268d2cdd.00b9c2b1.js                     |   1 -
 assets/js/268d2cdd.34df75a8.js                     |   1 +
 assets/js/29dcaf5c.acef75de.js                     |   1 -
 assets/js/29dcaf5c.b413dd4c.js                     |   1 +
 assets/js/2b259718.8d88e818.js                     |   1 +
 assets/js/2b259718.cefce329.js                     |   1 -
 assets/js/2bd4e917.4b859004.js                     |   1 +
 assets/js/2bd4e917.8308cd0e.js                     |   1 -
 assets/js/2c16f96f.1f10a541.js                     |   1 -
 assets/js/2c16f96f.4e7d6bd2.js                     |   1 +
 assets/js/2d5ecd32.1a87a563.js                     |   1 -
 assets/js/2d5ecd32.9a6bb0b1.js                     |   1 +
 assets/js/2e02a06c.0440c856.js                     |   1 -
 assets/js/2e02a06c.938af96c.js                     |   1 +
 assets/js/3042.ee02db81.js                         |   1 +
 assets/js/30f8251a.14eed373.js                     |   1 +
 assets/js/30f8251a.de37e2ba.js                     |   1 -
 assets/js/33fa7d5c.682807d0.js                     |   1 +
 assets/js/33fa7d5c.e75712a1.js                     |   1 -
 assets/js/349e1d36.4488710f.js                     |   1 +
 assets/js/349e1d36.54dccd1a.js                     |   1 -
 assets/js/34c6c789.0b14606f.js                     |   1 -
 assets/js/34c6c789.7bb79afc.js                     |   1 +
 assets/js/354c0217.738059c4.js                     |   1 +
 assets/js/354c0217.a87b7b04.js                     |   1 -
 assets/js/35a01251.37b3262e.js                     |   1 -
 assets/js/35a01251.ec29617f.js                     |   1 +
 assets/js/36507dff.319124bb.js                     |   1 -
 assets/js/36507dff.a3ebd9ce.js                     |   1 +
 assets/js/3686d71d.14b17a18.js                     |   1 +
 assets/js/3686d71d.c519c3f5.js                     |   1 -
 assets/js/385bcace.30f74aa8.js                     |   1 +
 assets/js/385bcace.94c2ce21.js                     |   1 -
 assets/js/3a9703f4.6e9f02af.js                     |   1 +
 assets/js/3a9703f4.c18304c7.js                     |   1 -
 assets/js/3ad25d49.a888f8dd.js                     |   1 -
 assets/js/3ad25d49.b0c1364a.js                     |   1 +
 assets/js/3b725520.4d6c728e.js                     |   1 -
 assets/js/3b725520.e7b66d9d.js                     |   1 +
 assets/js/3c3baabb.08aa1a1b.js                     |   1 -
 assets/js/3c3baabb.ef27c911.js                     |   1 +
 assets/js/3d4028ce.877dc0c6.js                     |   1 -
 assets/js/3d4028ce.9083d48a.js                     |   1 +
 assets/js/3e692ce2.6ebca026.js                     |   1 +
 assets/js/3e692ce2.a9163574.js                     |   1 -
 assets/js/40115c7f.9168115f.js                     |   1 +
 assets/js/40115c7f.ca3b95fa.js                     |   1 -
 assets/js/404115de.9a636303.js                     |   1 +
 assets/js/404115de.9ec9260f.js                     |   1 -
 assets/js/4268dd16.1d4729f7.js                     |   1 -
 assets/js/4268dd16.ce44da1c.js                     |   1 +
 assets/js/45627c5d.0e65dfac.js                     |   1 -
 assets/js/45627c5d.46906ce0.js                     |   1 +
 assets/js/482e9b7d.dca69031.js                     |   1 -
 assets/js/482e9b7d.ed3f7629.js                     |   1 +
 assets/js/4837abef.6b77aff4.js                     |   1 +
 assets/js/4837abef.b2dd683f.js                     |   1 -
 assets/js/48964a5c.f1dff5e3.js                     |   1 -
 assets/js/48964a5c.f2f11ed2.js                     |   1 +
 assets/js/48febe53.520a2b5d.js                     |   1 +
 assets/js/48febe53.54850368.js                     |   1 -
 assets/js/4926436e.0fa818bf.js                     |   1 -
 assets/js/4926436e.73a9045b.js                     |   1 +
 assets/js/4972.bf576ca6.js                         |   1 -
 assets/js/4a4df22c.140d63e3.js                     |   1 +
 assets/js/4a4df22c.d848e55a.js                     |   1 -
 assets/js/4a85434f.8d81d0fe.js                     |   1 +
 assets/js/4a85434f.dbaf9cd6.js                     |   1 -
 assets/js/4c8a8f74.9f24f337.js                     |   1 +
 assets/js/4c8a8f74.a2c43459.js                     |   1 -
 assets/js/4dd343cf.39dfdfac.js                     |   1 -
 assets/js/4dd343cf.76a72c5c.js                     |   1 +
 assets/js/4e0d7bff.238c24f7.js                     |   1 +
 assets/js/4e0d7bff.b4d601c9.js                     |   1 -
 assets/js/4ee3082f.93ec7468.js                     |   1 +
 assets/js/4f1df855.6241be25.js                     |   1 +
 assets/js/4f1df855.fba5a5b6.js                     |   1 -
 assets/js/4f3be5fe.9dd137c1.js                     |   1 +
 assets/js/4f3be5fe.f74fcd7f.js                     |   1 -
 assets/js/5045.eb93db5a.js                         |   1 -
 assets/js/50cbb992.3a145f7a.js                     |   1 +
 assets/js/50cbb992.bf83444b.js                     |   1 -
 assets/js/51d10e13.c5a7b533.js                     |   1 +
 assets/js/51d10e13.fdc36d8d.js                     |   1 -
 assets/js/52cda06f.4dc2c692.js                     |   1 +
 assets/js/52cda06f.b8dde2b5.js                     |   1 -
 assets/js/53142a12.62799087.js                     |   1 +
 assets/js/53142a12.c60a277f.js                     |   1 -
 assets/js/55a16fa7.16ea8703.js                     |   1 +
 assets/js/55a16fa7.fb5c90a8.js                     |   1 -
 assets/js/578c3d15.c1b01174.js                     |   1 +
 assets/js/578c3d15.db43e057.js                     |   1 -
 assets/js/58004ff3.31ac918d.js                     |   1 -
 assets/js/58004ff3.ee49d3e6.js                     |   1 +
 assets/js/58433c70.602d5f2d.js                     |   1 +
 assets/js/58433c70.b9a38a5c.js                     |   1 -
 assets/js/58a28880.21683e0c.js                     |   1 -
 assets/js/58a28880.a44535dd.js                     |   1 +
 assets/js/594f5a0c.b7977d17.js                     |   1 +
 assets/js/594f5a0c.f4e36a0f.js                     |   1 -
 assets/js/5addded8.bca69358.js                     |   1 +
 assets/js/5addded8.ca481d1b.js                     |   1 -
 assets/js/5ae315aa.8da8e383.js                     |   1 +
 assets/js/5ae315aa.c8c23000.js                     |   1 -
 assets/js/5c7e3943.c9edf84f.js                     |   1 -
 assets/js/5c7e3943.fc884abc.js                     |   1 +
 assets/js/5cfb2d3a.08f80830.js                     |   1 -
 assets/js/5cfb2d3a.0df6105d.js                     |   1 +
 assets/js/5e95c892.c74ce500.js                     |   1 +
 assets/js/5ff8ceca.0c9270ac.js                     |   1 -
 assets/js/5ff8ceca.306b5243.js                     |   1 +
 assets/js/60cbc5d5.a9ad6f96.js                     |   1 +
 assets/js/60cbc5d5.b26bc9d4.js                     |   1 -
 assets/js/61449d4d.04d89943.js                     |   1 +
 assets/js/61449d4d.2aa8d0d8.js                     |   1 -
 assets/js/6346e45d.630a2507.js                     |   1 +
 assets/js/6346e45d.e67f1646.js                     |   1 -
 assets/js/637cad83.1efe0c65.js                     |   1 +
 assets/js/637cad83.facf22d5.js                     |   1 -
 assets/js/63e9343e.637d0bb3.js                     |   1 +
 assets/js/63e9343e.fc417399.js                     |   1 -
 assets/js/6453760d.2f0e46cc.js                     |   1 -
 assets/js/6453760d.7212212b.js                     |   1 +
 assets/js/6471e0a0.4755fd83.js                     |   1 +
 assets/js/6471e0a0.b4c4ee39.js                     |   1 -
 assets/js/65d135b1.0404f51a.js                     |   1 -
 assets/js/65d135b1.e247c4bd.js                     |   1 +
 assets/js/6932126d.2c1bb836.js                     |   1 -
 assets/js/6932126d.fdcf39b7.js                     |   1 +
 assets/js/69d55f13.332c97b1.js                     |   1 +
 assets/js/69d55f13.ffb82ade.js                     |   1 -
 assets/js/69d80893.80869400.js                     |   1 -
 assets/js/69d80893.8c6b49b6.js                     |   1 +
 assets/js/6ae9fc02.7a1cbd59.js                     |   1 +
 assets/js/6ae9fc02.ec060e54.js                     |   1 -
 assets/js/6bcfd6c2.45281f90.js                     |   1 -
 assets/js/6bcfd6c2.6d688b74.js                     |   1 +
 assets/js/6ce6819d.ab7d761e.js                     |   1 +
 assets/js/6ce6819d.e5ed23dc.js                     |   1 -
 assets/js/6d365731.48b16d49.js                     |   1 +
 assets/js/6d365731.c20c6148.js                     |   1 -
 assets/js/6ff4e327.cab416cf.js                     |   1 -
 assets/js/6ff4e327.dc458af8.js                     |   1 +
 assets/js/70ddd16d.2cb55edd.js                     |   1 -
 assets/js/70ddd16d.4019e471.js                     |   1 +
 assets/js/73622f37.5afb2953.js                     |   1 -
 assets/js/73622f37.799e659a.js                     |   1 +
 assets/js/7384b1db.5384bb8a.js                     |   1 +
 assets/js/7384b1db.d6c7eadd.js                     |   1 -
 assets/js/74f4fc73.082e07c3.js                     |   1 -
 assets/js/74f4fc73.8ddb9160.js                     |   1 +
 assets/js/754bbc00.1ca34720.js                     |   1 +
 assets/js/754bbc00.82d6eec1.js                     |   1 -
 assets/js/7700b0e1.2698aef6.js                     |   1 +
 assets/js/7700b0e1.e5c10b27.js                     |   1 -
 assets/js/780a82de.d7163b13.js                     |   1 +
 assets/js/780a82de.f83bf85f.js                     |   1 -
 assets/js/7906c6bd.9bb9de26.js                     |   1 -
 assets/js/7906c6bd.c6af1467.js                     |   1 +
 assets/js/796c7db7.a6d79a63.js                     |   1 +
 assets/js/796c7db7.baea85c7.js                     |   1 -
 assets/js/7ad73ba9.7ff64b59.js                     |   1 -
 assets/js/7ad73ba9.dfab6484.js                     |   1 +
 assets/js/7b2e8407.661396ea.js                     |   1 -
 assets/js/7b2e8407.9ddfdfd5.js                     |   1 +
 assets/js/7bac38f2.12730c4d.js                     |   1 -
 assets/js/7bac38f2.dffc9df5.js                     |   1 +
 assets/js/7bd2e184.2e833d17.js                     |   1 +
 assets/js/7bd2e184.8c3db985.js                     |   1 -
 assets/js/7c8916e7.da632ed6.js                     |   1 -
 assets/js/7c8916e7.fc434e37.js                     |   1 +
 assets/js/7c9b6a28.863e9047.js                     |   1 +
 assets/js/7c9b6a28.89500454.js                     |   1 -
 assets/js/7cc2e9a9.1f706810.js                     |   1 +
 assets/js/7cc2e9a9.ccc300c3.js                     |   1 -
 assets/js/7d1139b0.662a7854.js                     |   1 +
 assets/js/7d1139b0.a306c6fe.js                     |   1 -
 assets/js/7d9efb96.5cd1b8cb.js                     |   1 +
 assets/js/7d9efb96.76181414.js                     |   1 -
 assets/js/7e5d7ed4.58f0fecf.js                     |   1 -
 assets/js/7e5d7ed4.d6ca1474.js                     |   1 +
 assets/js/7e731d09.aa9f063d.js                     |   1 +
 assets/js/7e731d09.c43e50a1.js                     |   1 -
 assets/js/7ea47c5c.3da595bc.js                     |   1 +
 assets/js/7ea47c5c.b482e0e3.js                     |   1 -
 assets/js/80303d80.76be649b.js                     |   1 -
 assets/js/80303d80.9a9633e9.js                     |   1 +
 assets/js/81276074.37777730.js                     |   1 +
 assets/js/81276074.9069e3b4.js                     |   1 -
 assets/js/84bd98c7.103857b9.js                     |   1 -
 assets/js/84bd98c7.8e064aa7.js                     |   1 +
 assets/js/84d59e0d.4410dcbb.js                     |   1 -
 assets/js/84d59e0d.f4add8ac.js                     |   1 +
 assets/js/86878fdb.5e18dbd3.js                     |   1 +
 assets/js/86878fdb.68334801.js                     |   1 -
 assets/js/87fa40f4.39f9b158.js                     |   1 -
 assets/js/87fa40f4.e8f380a5.js                     |   1 +
 assets/js/87fccbb2.548a22ba.js                     |   1 -
 assets/js/87fccbb2.c2149394.js                     |   1 +
 assets/js/88b112cd.1c76095f.js                     |   1 +
 assets/js/88b112cd.e781755f.js                     |   1 -
 assets/js/8b414528.205a0123.js                     |   1 -
 assets/js/8b414528.8cc08db4.js                     |   1 +
 assets/js/8b471e37.929437cc.js                     |   1 +
 assets/js/8b471e37.f3d8b559.js                     |   1 -
 assets/js/8bad6b17.5e5adf03.js                     |   1 +
 assets/js/8bad6b17.dc098203.js                     |   1 -
 assets/js/8bbb41cc.646a16ed.js                     |   1 +
 assets/js/8bbb41cc.c24523dc.js                     |   1 -
 assets/js/8cb935d3.3656917c.js                     |   1 -
 assets/js/8cb935d3.5edd363b.js                     |   1 +
 assets/js/8d3782c6.3923e43c.js                     |   1 +
 assets/js/8d3782c6.c3befd4f.js                     |   1 -
 assets/js/8dcc76d4.11d36cac.js                     |   1 -
 assets/js/8dcc76d4.b240b381.js                     |   1 +
 assets/js/8ffb6cdf.71691f66.js                     |   1 +
 assets/js/8ffb6cdf.7fb66378.js                     |   1 -
 assets/js/935f2afb.1ce7704b.js                     |   1 -
 assets/js/93e5a821.4d6d1a2a.js                     |   1 -
 assets/js/93e5a821.66c81537.js                     |   1 +
 assets/js/93fb4f3e.98a7510b.js                     |   1 -
 assets/js/93fb4f3e.ded406ba.js                     |   1 +
 assets/js/94ed0bcd.4600fdaa.js                     |   1 -
 assets/js/94ed0bcd.a75ba562.js                     |   1 +
 assets/js/96c5ee86.0ee0ed08.js                     |   1 +
 assets/js/96c5ee86.c9db2c9e.js                     |   1 -
 assets/js/96e80402.90eadb99.js                     |   1 -
 assets/js/96e80402.ed0e6944.js                     |   1 +
 assets/js/9740.254a2b7e.js                         |   1 +
 assets/js/986aaff4.2f64b6ad.js                     |   1 +
 assets/js/986aaff4.51c017b3.js                     |   1 -
 assets/js/98916a22.25e6bea8.js                     |   1 -
 assets/js/98916a22.32e09d03.js                     |   1 +
 assets/js/9b84ad4a.12321ec1.js                     |   1 -
 assets/js/9b84ad4a.cc373555.js                     |   1 +
 assets/js/9ec71f90.0c61d1c5.js                     |   1 +
 assets/js/9ec71f90.b9917b95.js                     |   1 -
 assets/js/9f8f70b9.76cd532e.js                     |   1 -
 assets/js/9f8f70b9.e19325b5.js                     |   1 +
 assets/js/9fc8c1ea.5b3f8ed5.js                     |   1 +
 assets/js/9fc8c1ea.a30ce460.js                     |   1 -
 assets/js/a068866f.5abca7bc.js                     |   1 -
 assets/js/a068866f.d34c3fa3.js                     |   1 +
 assets/js/a0781153.079248ab.js                     |   1 -
 assets/js/a0781153.fcace692.js                     |   1 +
 assets/js/a09c2993.26e100a4.js                     |   1 -
 assets/js/a09c2993.4689c9e8.js                     |   1 +
 assets/js/a20e263e.2001f891.js                     |   1 +
 assets/js/a20e263e.9f133fba.js                     |   1 -
 assets/js/a27c0b79.690a69bc.js                     |   1 -
 assets/js/a27c0b79.86d13958.js                     |   1 +
 assets/js/a36c028a.9c062474.js                     |   1 +
 assets/js/a36c028a.ed0ee11b.js                     |   1 -
 assets/js/a50b88ef.891c78f0.js                     |   1 +
 assets/js/a50b88ef.c39ef2b6.js                     |   1 -
 assets/js/a5724d60.dabda76e.js                     |   1 -
 assets/js/a58cc737.920a01ea.js                     |   1 +
 assets/js/a58cc737.d9f38aa9.js                     |   1 -
 assets/js/a5a446cb.2b45663c.js                     |   1 -
 assets/js/a5a446cb.b2cb21da.js                     |   1 +
 assets/js/a6bb7bab.042a83c0.js                     |   1 -
 assets/js/a6bb7bab.46971d29.js                     |   1 +
 .../{30b88879.7890457f.js => a7456010.6d0c34d2.js} |   2 +-
 assets/js/a7509ec7.c11f1531.js                     |   1 -
 assets/js/a7509ec7.d0a8e287.js                     |   1 +
 assets/js/a7bd4aaa.0293e410.js                     |   1 +
 assets/js/a8a99800.4ffacb30.js                     |   1 -
 assets/js/a8a99800.661966e0.js                     |   1 +
 assets/js/a94703ab.c7968712.js                     |   1 +
 assets/js/ab424fad.d7524659.js                     |   1 +
 assets/js/ab424fad.e14fc3df.js                     |   1 -
 .../{edebd281.6017c67c.js => aba21aa0.f1686a06.js} |   2 +-
 assets/js/ada7c6ed.94f75c19.js                     |   1 +
 assets/js/ada7c6ed.9b7f54bb.js                     |   1 -
 assets/js/adfafb1a.30d9dd6d.js                     |   1 -
 assets/js/adfafb1a.dde93078.js                     |   1 +
 assets/js/ae3873d7.4a3a1edf.js                     |   1 -
 assets/js/ae3873d7.ea9fe5d7.js                     |   1 +
 assets/js/b00ab45d.576bd4b7.js                     |   1 +
 assets/js/b00ab45d.65c3d65d.js                     |   1 -
 assets/js/b0ab85eb.80dca4ae.js                     |   1 +
 assets/js/b0ab85eb.892f8709.js                     |   1 -
 assets/js/b11c42bf.68ccfac8.js                     |   1 +
 assets/js/b11c42bf.96030631.js                     |   1 -
 assets/js/b16cb707.285d8653.js                     |   1 -
 assets/js/b16cb707.fff583dd.js                     |   1 +
 assets/js/b4183c90.b0100e43.js                     |   1 +
 assets/js/b4183c90.c67c5d4a.js                     |   1 -
 assets/js/b5f43110.cd67afac.js                     |   1 -
 assets/js/b6ea12b8.264b3a49.js                     |   1 +
 assets/js/b6ea12b8.ab5304b7.js                     |   1 -
 assets/js/b6f7b3d3.898e4427.js                     |   1 +
 assets/js/b6f7b3d3.b239130a.js                     |   1 -
 assets/js/b73133ee.81bd892b.js                     |   1 +
 assets/js/b73133ee.9a98d389.js                     |   1 -
 assets/js/b8a6281c.c6e4a5ed.js                     |   1 +
 assets/js/b8a6281c.fe7f406e.js                     |   1 -
 assets/js/b8ad0c6e.161085a9.js                     |   1 -
 assets/js/b8ad0c6e.52d41652.js                     |   1 +
 assets/js/ba5c3a07.63b6c6c6.js                     |   1 +
 assets/js/ba5c3a07.b1373258.js                     |   1 -
 assets/js/bb17e347.199285ed.js                     |   1 -
 assets/js/bb17e347.5a293939.js                     |   1 +
 assets/js/bb4b36e5.32758aae.js                     |   1 -
 assets/js/bb4b36e5.952aa3ad.js                     |   1 +
 assets/js/bb7fa304.e34d244d.js                     |   1 -
 assets/js/bb7fa304.e827fe2e.js                     |   1 +
 assets/js/bbd9b1b2.c34b93d5.js                     |   1 -
 assets/js/bbd9b1b2.d81fbda9.js                     |   1 +
 assets/js/bcd92f71.6d60f9a1.js                     |   1 -
 assets/js/bcd92f71.f69a0535.js                     |   1 +
 assets/js/bd8d1a56.53345d36.js                     |   1 -
 assets/js/bd8d1a56.f9c2383a.js                     |   1 +
 assets/js/be25e9d6.82e9c142.js                     |   1 +
 assets/js/be25e9d6.bc698d2e.js                     |   1 -
 assets/js/be78d0de.29cb389a.js                     |   1 -
 assets/js/be78d0de.6531d0fa.js                     |   1 +
 assets/js/bea104e2.75b87b85.js                     |   1 +
 assets/js/bea104e2.ec141ad9.js                     |   1 -
 assets/js/bef5ab9c.7d8ba138.js                     |   1 -
 assets/js/bef5ab9c.8b5a77bf.js                     |   1 +
 assets/js/bf1307fc.5fe3a94d.js                     |   1 +
 assets/js/bf91df5f.19d574d7.js                     |   1 +
 assets/js/bf91df5f.7e81c6c0.js                     |   1 -
 assets/js/c05cd02c.a0f3ccd1.js                     |   1 +
 assets/js/c05cd02c.d39cf463.js                     |   1 -
 assets/js/c0bfdb7b.6bc127e0.js                     |   1 -
 assets/js/c0bfdb7b.6f198a9b.js                     |   1 +
 assets/js/c15388d6.7401a5c1.js                     |   1 +
 assets/js/c15388d6.90406848.js                     |   1 -
 assets/js/c2122afe.52e505ee.js                     |   1 +
 assets/js/c2122afe.5996b22c.js                     |   1 -
 assets/js/c32869de.75447f45.js                     |   1 +
 assets/js/c32869de.7af99014.js                     |   1 -
 assets/js/c3ab5e42.82495fa2.js                     |   1 +
 assets/js/c3ab5e42.e526b513.js                     |   1 -
 assets/js/c3af0256.4df6a275.js                     |   1 -
 assets/js/c3af0256.e9d73c85.js                     |   1 +
 assets/js/c42e05d6.a0a182e9.js                     |   1 +
 assets/js/c42e05d6.cac08164.js                     |   1 -
 assets/js/c4ed238f.5a2796e9.js                     |   1 +
 assets/js/c4ed238f.ef7a9cf3.js                     |   1 -
 assets/js/c5196441.31fee6b9.js                     |   1 +
 assets/js/c5196441.88ff94fb.js                     |   1 -
 assets/js/c5fe5b8a.0ca83626.js                     |   1 -
 assets/js/c5fe5b8a.12d455b7.js                     |   1 +
 assets/js/c611616c.60f9a8de.js                     |   1 +
 assets/js/c611616c.e5b5396e.js                     |   1 -
 assets/js/c9bc7e6a.030ae149.js                     |   1 +
 assets/js/c9bc7e6a.160427e6.js                     |   1 -
 assets/js/c9efce87.2b7bc2c3.js                     |   1 -
 assets/js/c9efce87.615b1fb9.js                     |   1 +
 assets/js/cb3cb9eb.0b762431.js                     |   1 +
 assets/js/cc0a7fa6.475d7171.js                     |   1 -
 assets/js/cc0a7fa6.911e94a0.js                     |   1 +
 assets/js/ccbb503f.5c436d21.js                     |   1 -
 assets/js/ccbb503f.b3bf50a6.js                     |   1 +
 assets/js/ceb4c89f.64be2357.js                     |   1 +
 assets/js/ceb4c89f.d9712afc.js                     |   1 -
 assets/js/cfaef5a5.2f4e4cd7.js                     |   1 -
 assets/js/cfaef5a5.eb164304.js                     |   1 +
 assets/js/d000c304.02f29638.js                     |   1 +
 assets/js/d000c304.5d08c36f.js                     |   1 -
 assets/js/d0a60e95.00542437.js                     |   1 -
 assets/js/d0a60e95.1497be23.js                     |   1 +
 assets/js/d2d88ffa.2a0309f0.js                     |   1 -
 assets/js/d2d88ffa.30f7ba76.js                     |   1 +
 assets/js/d2e7df71.9a1328d4.js                     |   1 +
 assets/js/d2e7df71.c70d7f9e.js                     |   1 -
 assets/js/d40031c5.bc95a2fa.js                     |   1 -
 assets/js/d40031c5.c3f4ce24.js                     |   1 +
 assets/js/d4abeb11.3cade03c.js                     |   1 +
 assets/js/d4abeb11.f192b98c.js                     |   1 -
 assets/js/d6cddf17.12597b38.js                     |   1 +
 assets/js/d6cddf17.cf905020.js                     |   1 -
 assets/js/d89d9666.40d78d2c.js                     |   1 -
 assets/js/d89d9666.8c89aa65.js                     |   1 +
 assets/js/d914ed21.4550bb9c.js                     |   1 -
 assets/js/d914ed21.b6502a78.js                     |   1 +
 assets/js/d9bcd801.3d5a04cb.js                     |   1 -
 assets/js/d9bcd801.618c17d3.js                     |   1 +
 assets/js/daab7189.6dd8cffa.js                     |   1 +
 assets/js/daab7189.b4fd5d95.js                     |   1 -
 assets/js/db92b140.4b6c6923.js                     |   1 +
 assets/js/db92b140.854c26e6.js                     |   1 -
 assets/js/dce726f4.b05b5cd6.js                     |   1 -
 assets/js/dce726f4.bf5eb671.js                     |   1 +
 assets/js/dd82c715.0faebced.js                     |   1 -
 assets/js/dd82c715.c426f6da.js                     |   1 +
 assets/js/e145e521.16258a0b.js                     |   1 -
 assets/js/e145e521.77294ecc.js                     |   1 +
 assets/js/e15946f6.693ce40e.js                     |   1 +
 assets/js/e15946f6.fb71c1ac.js                     |   1 -
 assets/js/e1653e0c.049c9d5f.js                     |   1 +
 assets/js/e1653e0c.1824aaf1.js                     |   1 -
 assets/js/e2611f6c.15932eec.js                     |   1 -
 assets/js/e2611f6c.1a1b2826.js                     |   1 +
 assets/js/e3d05132.54208ed5.js                     |   1 -
 assets/js/e3d05132.e1bb3b24.js                     |   1 +
 assets/js/e81b0e2a.01125d7f.js                     |   1 -
 assets/js/e81b0e2a.e68aef1e.js                     |   1 +
 assets/js/e90d5959.2a426170.js                     |   1 -
 assets/js/e90d5959.3ce52e72.js                     |   1 +
 assets/js/e9a788e4.0e8305ac.js                     |   1 -
 assets/js/e9a788e4.8e2e81e2.js                     |   1 +
 assets/js/eb76abe2.75c1f309.js                     |   1 +
 assets/js/eb76abe2.c2fbb480.js                     |   1 -
 assets/js/ebab00d6.80caa46f.js                     |   1 -
 assets/js/ebab00d6.8b1e9875.js                     |   1 +
 assets/js/ed9ee576.b6f9de1a.js                     |   1 +
 assets/js/ed9ee576.df7b5fd0.js                     |   1 -
 assets/js/edbee287.109b312d.js                     |   1 +
 assets/js/edbee287.923bccae.js                     |   1 -
 assets/js/ee472cc0.9903aaae.js                     |   1 -
 assets/js/ee472cc0.e26a9f1d.js                     |   1 +
 assets/js/ef4c9b90.ac75d6a6.js                     |   1 -
 assets/js/ef4c9b90.df70a940.js                     |   1 +
 assets/js/ef7802fe.6c6d8968.js                     |   1 -
 assets/js/ef7802fe.a1318dd9.js                     |   1 +
 assets/js/f0b87889.91fd7d88.js                     |   1 +
 assets/js/f0b87889.c90fda4f.js                     |   1 -
 assets/js/f309df84.4334c2f9.js                     |   1 -
 assets/js/f309df84.59d11a07.js                     |   1 +
 assets/js/f369fde3.47a83795.js                     |   1 -
 assets/js/f369fde3.c39d0889.js                     |   1 +
 assets/js/f3703a6a.470db337.js                     |   1 +
 assets/js/f3703a6a.c2ce4f7c.js                     |   1 -
 assets/js/f4c4359e.815a9eb5.js                     |   1 -
 assets/js/f4c4359e.ef53e16c.js                     |   1 +
 assets/js/f5df6522.c2132552.js                     |   1 +
 assets/js/f5df6522.ffc9dbda.js                     |   1 -
 assets/js/f6d284c5.55072c24.js                     |   1 -
 assets/js/f6d284c5.732d4e8e.js                     |   1 +
 assets/js/f6eb8dc0.64680a56.js                     |   1 +
 assets/js/f6eb8dc0.e216d9d7.js                     |   1 -
 assets/js/f82e9e1e.7fadc502.js                     |   1 +
 assets/js/f82e9e1e.ba084c84.js                     |   1 -
 assets/js/f832e5eb.39777db5.js                     |   1 +
 assets/js/f832e5eb.cfa773ea.js                     |   1 -
 assets/js/f96444cb.4d98bc18.js                     |   1 -
 assets/js/f96444cb.d696ed84.js                     |   1 +
 assets/js/fabd7339.88e25e97.js                     |   1 +
 assets/js/fabd7339.fca044c5.js                     |   1 -
 assets/js/fb2be6af.2f6664f3.js                     |   1 -
 assets/js/fb2be6af.ed0835f1.js                     |   1 +
 assets/js/fbf93db7.4e47512b.js                     |   1 -
 assets/js/fbf93db7.890d9eec.js                     |   1 +
 assets/js/fc7548d9.5a71834d.js                     |   1 +
 assets/js/fc7548d9.91b3f0f9.js                     |   1 -
 assets/js/fd0160d8.5f971718.js                     |   1 +
 assets/js/fd0160d8.a12b8a12.js                     |   1 -
 assets/js/fd601dd3.66755894.js                     |   1 +
 assets/js/fd601dd3.777a8ebe.js                     |   1 -
 assets/js/ff54c629.ba221a9e.js                     |   1 +
 assets/js/ff54c629.f3a2667e.js                     |   1 -
 assets/js/main.22c8e858.js                         |   2 -
 assets/js/main.22c8e858.js.LICENSE.txt             |  53 ---
 assets/js/main.c83d693e.js                         |   2 +
 assets/js/main.c83d693e.js.LICENSE.txt             |  74 ++++
 assets/js/runtime~main.4bc18573.js                 |   1 +
 assets/js/runtime~main.e54d35dc.js                 |   1 -
 docs/2.7.5/ambari-alerts/index.html                |  21 +-
 docs/2.7.5/ambari-design/alerts/index.html         |  46 ++-
 .../ambari-design/ambari-architecture/index.html   |  16 +-
 .../blueprints/blueprint-ha/index.html             | 166 ++++++++-
 .../blueprints/blueprint-ranger/index.html         | 110 +++++-
 .../ambari-design/enhanced-configs/index.html      | 254 ++++++++++++-
 docs/2.7.5/ambari-design/index.html                |  23 +-
 .../kerberos/enabling_kerberos/index.html          | 193 +++++++++-
 .../kerberos/kerberos_descriptor/index.html        | 315 ++++++++++------
 .../kerberos/kerberos_service/index.html           | 205 +++++++++--
 .../metrics/ambari-metrics-whitelisting/index.html |  60 ++-
 .../metrics/ambari-server-metrics/index.html       | 100 ++++-
 .../ambari-design/metrics/configuration/index.html | 121 ++++++-
 docs/2.7.5/ambari-design/metrics/index.html        |  24 +-
 .../metrics/metrics-api-specification/index.html   |  39 +-
 .../metrics-collector-api-specification/index.html |  93 ++++-
 .../ambari-design/metrics/operations/index.html    |  74 +++-
 .../metrics/stack-defined-metrics/index.html       |  35 +-
 .../metrics/troubleshooting/index.html             | 135 ++++++-
 .../upgrading-ambari-metrics-system/index.html     |  35 +-
 docs/2.7.5/ambari-design/quick-links/index.html    |  36 +-
 .../ambari-design/service-dashboard/index.html     | 134 ++++++-
 .../stack-and-services/custom-services/index.html  | 279 +++++++++++++-
 .../index.html                                     | 239 +++++++++++-
 .../stack-and-services/extensions/index.html       |  62 +++-
 .../stack-and-services/faq/index.html              |  36 +-
 .../stack-and-services/hooks/index.html            |  44 ++-
 .../how-to-define-stacks-and-services/index.html   | 403 +++++++++++++++++++--
 .../ambari-design/stack-and-services/index.html    |  20 +-
 .../stack-and-services/management-packs/index.html | 156 +++++++-
 .../stack-and-services/overview/index.html         | 228 +++++++++++-
 .../stack-inheritance/index.html                   |  55 ++-
 .../stack-and-services/stack-properties/index.html |  36 +-
 .../index.html                                     |  30 +-
 .../stack-and-services/writing-metainfo/index.html |  52 ++-
 .../ambari-design/technology-stack/index.html      |  40 +-
 .../views/framework-services/index.html            |  53 ++-
 docs/2.7.5/ambari-design/views/index.html          |  16 +-
 docs/2.7.5/ambari-design/views/view-api/index.html |  61 +++-
 .../ambari-design/views/view-definition/index.html |  62 +++-
 .../admin-view-ambari-admin-development/index.html |  46 ++-
 .../2.7.5/ambari-dev/ambari-code-layout/index.html |  44 ++-
 .../2.7.5/ambari-dev/apache-ambari-jira/index.html |  21 +-
 .../ambari-dev/code-review-guidelines/index.html   |  28 +-
 .../coding-guidelines-for-ambari/index.html        | 198 +++++++++-
 docs/2.7.5/ambari-dev/developer-tools/index.html   |  38 +-
 .../ambari-dev/development-in-docker/index.html    |  65 +++-
 .../index.html                                     | 138 ++++++-
 docs/2.7.5/ambari-dev/feature-flags/index.html     |  38 +-
 docs/2.7.5/ambari-dev/how-to-commit/index.html     |  21 +-
 docs/2.7.5/ambari-dev/how-to-contribute/index.html | 127 ++++++-
 docs/2.7.5/ambari-dev/index.html                   | 179 ++++++++-
 docs/2.7.5/ambari-dev/releasing-ambari/index.html  |  69 +++-
 docs/2.7.5/ambari-dev/unit-test-reports/index.html |  16 +-
 .../verifying-release-candidate/index.html         |  40 +-
 docs/2.7.5/ambari-plugin-contribution/index.html   |  18 +-
 .../ambari-plugin-contribution/scom/index.html     |  50 ++-
 .../scom/installation/index.html                   | 253 ++++++++++++-
 .../step-by-step/index.html                        |  51 ++-
 docs/2.7.5/blueprints/index.html                   | 334 ++++++++++++++++-
 docs/2.7.5/introduction/index.html                 |  69 +++-
 docs/2.7.5/kerberos/index.html                     |  94 ++++-
 .../quick-start-for-new-vm-users/index.html        | 305 +++++++++++++++-
 .../2.7.5/quick-start/quick-start-guide/index.html | 103 +++++-
 docs/2.7.6/ambari-alerts/index.html                |  21 +-
 docs/2.7.6/ambari-design/alerts/index.html         |  46 ++-
 .../ambari-design/ambari-architecture/index.html   |  16 +-
 .../blueprints/blueprint-ha/index.html             | 166 ++++++++-
 .../blueprints/blueprint-ranger/index.html         | 110 +++++-
 .../ambari-design/enhanced-configs/index.html      | 254 ++++++++++++-
 docs/2.7.6/ambari-design/index.html                |  23 +-
 .../kerberos/enabling_kerberos/index.html          | 193 +++++++++-
 .../kerberos/kerberos_descriptor/index.html        | 315 ++++++++++------
 .../kerberos/kerberos_service/index.html           | 205 +++++++++--
 .../metrics/ambari-metrics-whitelisting/index.html |  60 ++-
 .../metrics/ambari-server-metrics/index.html       | 100 ++++-
 .../ambari-design/metrics/configuration/index.html | 121 ++++++-
 docs/2.7.6/ambari-design/metrics/index.html        |  24 +-
 .../metrics/metrics-api-specification/index.html   |  39 +-
 .../metrics-collector-api-specification/index.html |  93 ++++-
 .../ambari-design/metrics/operations/index.html    |  74 +++-
 .../metrics/stack-defined-metrics/index.html       |  35 +-
 .../metrics/troubleshooting/index.html             | 135 ++++++-
 .../upgrading-ambari-metrics-system/index.html     |  35 +-
 docs/2.7.6/ambari-design/quick-links/index.html    |  36 +-
 .../ambari-design/service-dashboard/index.html     | 134 ++++++-
 .../stack-and-services/custom-services/index.html  | 279 +++++++++++++-
 .../index.html                                     | 239 +++++++++++-
 .../stack-and-services/extensions/index.html       |  62 +++-
 .../stack-and-services/faq/index.html              |  36 +-
 .../stack-and-services/hooks/index.html            |  44 ++-
 .../how-to-define-stacks-and-services/index.html   | 403 +++++++++++++++++++--
 .../ambari-design/stack-and-services/index.html    |  20 +-
 .../stack-and-services/management-packs/index.html | 156 +++++++-
 .../stack-and-services/overview/index.html         | 228 +++++++++++-
 .../stack-inheritance/index.html                   |  55 ++-
 .../stack-and-services/stack-properties/index.html |  36 +-
 .../index.html                                     |  30 +-
 .../stack-and-services/writing-metainfo/index.html |  52 ++-
 .../ambari-design/technology-stack/index.html      |  40 +-
 .../views/framework-services/index.html            |  53 ++-
 docs/2.7.6/ambari-design/views/index.html          |  16 +-
 docs/2.7.6/ambari-design/views/view-api/index.html |  61 +++-
 .../ambari-design/views/view-definition/index.html |  62 +++-
 .../admin-view-ambari-admin-development/index.html |  46 ++-
 .../2.7.6/ambari-dev/ambari-code-layout/index.html |  44 ++-
 .../2.7.6/ambari-dev/apache-ambari-jira/index.html |  21 +-
 .../ambari-dev/code-review-guidelines/index.html   |  28 +-
 .../coding-guidelines-for-ambari/index.html        | 198 +++++++++-
 docs/2.7.6/ambari-dev/developer-tools/index.html   |  38 +-
 .../ambari-dev/development-in-docker/index.html    |  65 +++-
 .../index.html                                     | 138 ++++++-
 docs/2.7.6/ambari-dev/feature-flags/index.html     |  38 +-
 docs/2.7.6/ambari-dev/how-to-commit/index.html     |  21 +-
 docs/2.7.6/ambari-dev/how-to-contribute/index.html | 127 ++++++-
 docs/2.7.6/ambari-dev/index.html                   | 179 ++++++++-
 docs/2.7.6/ambari-dev/releasing-ambari/index.html  |  69 +++-
 docs/2.7.6/ambari-dev/unit-test-reports/index.html |  16 +-
 .../verifying-release-candidate/index.html         |  40 +-
 docs/2.7.6/ambari-plugin-contribution/index.html   |  18 +-
 .../ambari-plugin-contribution/scom/index.html     |  50 ++-
 .../scom/installation/index.html                   | 253 ++++++++++++-
 .../step-by-step/index.html                        |  51 ++-
 docs/2.7.6/blueprints/index.html                   | 334 ++++++++++++++++-
 docs/2.7.6/introduction/index.html                 |  69 +++-
 docs/2.7.6/kerberos/index.html                     |  94 ++++-
 .../quick-start-for-new-vm-users/index.html        | 305 +++++++++++++++-
 .../2.7.6/quick-start/quick-start-guide/index.html | 103 +++++-
 docs/ambari-alerts/index.html                      |  21 +-
 docs/ambari-design/alerts/index.html               |  46 ++-
 docs/ambari-design/ambari-architecture/index.html  |  16 +-
 .../blueprints/blueprint-ha/index.html             | 166 ++++++++-
 .../blueprints/blueprint-ranger/index.html         | 110 +++++-
 docs/ambari-design/enhanced-configs/index.html     | 254 ++++++++++++-
 docs/ambari-design/index.html                      |  23 +-
 .../kerberos/enabling_kerberos/index.html          | 193 +++++++++-
 .../kerberos/kerberos_descriptor/index.html        | 315 ++++++++++------
 .../kerberos/kerberos_service/index.html           | 205 +++++++++--
 .../metrics/ambari-metrics-whitelisting/index.html |  60 ++-
 .../metrics/ambari-server-metrics/index.html       | 100 ++++-
 .../ambari-design/metrics/configuration/index.html | 121 ++++++-
 docs/ambari-design/metrics/index.html              |  24 +-
 .../metrics/metrics-api-specification/index.html   |  39 +-
 .../metrics-collector-api-specification/index.html |  93 ++++-
 docs/ambari-design/metrics/operations/index.html   |  74 +++-
 .../metrics/stack-defined-metrics/index.html       |  35 +-
 .../metrics/troubleshooting/index.html             | 135 ++++++-
 .../upgrading-ambari-metrics-system/index.html     |  35 +-
 docs/ambari-design/quick-links/index.html          |  36 +-
 docs/ambari-design/service-dashboard/index.html    | 134 ++++++-
 .../stack-and-services/custom-services/index.html  | 279 +++++++++++++-
 .../index.html                                     | 239 +++++++++++-
 .../stack-and-services/extensions/index.html       |  62 +++-
 .../stack-and-services/faq/index.html              |  36 +-
 .../stack-and-services/hooks/index.html            |  44 ++-
 .../how-to-define-stacks-and-services/index.html   | 403 +++++++++++++++++++--
 docs/ambari-design/stack-and-services/index.html   |  20 +-
 .../stack-and-services/management-packs/index.html | 156 +++++++-
 .../stack-and-services/overview/index.html         | 228 +++++++++++-
 .../stack-inheritance/index.html                   |  55 ++-
 .../stack-and-services/stack-properties/index.html |  36 +-
 .../index.html                                     |  30 +-
 .../stack-and-services/writing-metainfo/index.html |  52 ++-
 docs/ambari-design/technology-stack/index.html     |  40 +-
 .../views/framework-services/index.html            |  53 ++-
 docs/ambari-design/views/index.html                |  16 +-
 docs/ambari-design/views/view-api/index.html       |  61 +++-
 .../ambari-design/views/view-definition/index.html |  62 +++-
 .../admin-view-ambari-admin-development/index.html |  46 ++-
 docs/ambari-dev/ambari-code-layout/index.html      |  44 ++-
 docs/ambari-dev/apache-ambari-jira/index.html      |  21 +-
 docs/ambari-dev/code-review-guidelines/index.html  |  28 +-
 .../coding-guidelines-for-ambari/index.html        | 198 +++++++++-
 docs/ambari-dev/developer-tools/index.html         |  38 +-
 docs/ambari-dev/development-in-docker/index.html   |  65 +++-
 .../index.html                                     | 138 ++++++-
 docs/ambari-dev/feature-flags/index.html           |  38 +-
 docs/ambari-dev/how-to-commit/index.html           |  21 +-
 docs/ambari-dev/how-to-contribute/index.html       | 127 ++++++-
 docs/ambari-dev/index.html                         | 179 ++++++++-
 docs/ambari-dev/releasing-ambari/index.html        |  69 +++-
 docs/ambari-dev/unit-test-reports/index.html       |  16 +-
 .../verifying-release-candidate/index.html         |  40 +-
 docs/ambari-plugin-contribution/index.html         |  18 +-
 docs/ambari-plugin-contribution/scom/index.html    |  65 +++-
 .../scom/installation/index.html                   | 253 ++++++++++++-
 .../step-by-step/index.html                        |  51 ++-
 docs/blueprints/index.html                         | 334 ++++++++++++++++-
 docs/faq/index.html                                | 148 +++++++-
 docs/introduction/index.html                       |  69 +++-
 docs/kerberos/index.html                           |  94 ++++-
 docs/next/ambari-alerts/index.html                 |  21 +-
 docs/next/ambari-design/alerts/index.html          |  46 ++-
 .../ambari-design/ambari-architecture/index.html   |  16 +-
 .../blueprints/blueprint-ha/index.html             | 166 ++++++++-
 .../blueprints/blueprint-ranger/index.html         | 110 +++++-
 .../next/ambari-design/enhanced-configs/index.html | 254 ++++++++++++-
 docs/next/ambari-design/index.html                 |  23 +-
 .../kerberos/enabling_kerberos/index.html          | 193 +++++++++-
 .../kerberos/kerberos_descriptor/index.html        | 315 ++++++++++------
 .../kerberos/kerberos_service/index.html           | 205 +++++++++--
 .../metrics/ambari-metrics-whitelisting/index.html |  60 ++-
 .../metrics/ambari-server-metrics/index.html       | 100 ++++-
 .../ambari-design/metrics/configuration/index.html | 121 ++++++-
 docs/next/ambari-design/metrics/index.html         |  24 +-
 .../metrics/metrics-api-specification/index.html   |  39 +-
 .../metrics-collector-api-specification/index.html |  93 ++++-
 .../ambari-design/metrics/operations/index.html    |  74 +++-
 .../metrics/stack-defined-metrics/index.html       |  30 +-
 .../metrics/troubleshooting/index.html             | 135 ++++++-
 .../upgrading-ambari-metrics-system/index.html     |  35 +-
 docs/next/ambari-design/quick-links/index.html     |  36 +-
 .../ambari-design/service-dashboard/index.html     | 112 +++++-
 .../stack-and-services/custom-services/index.html  | 279 +++++++++++++-
 .../index.html                                     | 239 +++++++++++-
 .../stack-and-services/extensions/index.html       |  62 +++-
 .../stack-and-services/faq/index.html              |  36 +-
 .../stack-and-services/hooks/index.html            |  44 ++-
 .../how-to-define-stacks-and-services/index.html   | 403 +++++++++++++++++++--
 .../ambari-design/stack-and-services/index.html    |  20 +-
 .../stack-and-services/management-packs/index.html | 156 +++++++-
 .../stack-and-services/overview/index.html         | 228 +++++++++++-
 .../stack-inheritance/index.html                   |  55 ++-
 .../stack-and-services/stack-properties/index.html |  36 +-
 .../index.html                                     |  30 +-
 .../stack-and-services/writing-metainfo/index.html |  52 ++-
 .../next/ambari-design/technology-stack/index.html |  40 +-
 .../views/framework-services/index.html            |  53 ++-
 docs/next/ambari-design/views/index.html           |  16 +-
 docs/next/ambari-design/views/view-api/index.html  |  61 +++-
 .../ambari-design/views/view-definition/index.html |  62 +++-
 .../admin-view-ambari-admin-development/index.html |  46 ++-
 docs/next/ambari-dev/ambari-code-layout/index.html |  44 ++-
 docs/next/ambari-dev/apache-ambari-jira/index.html |  21 +-
 .../ambari-dev/code-review-guidelines/index.html   |  28 +-
 .../coding-guidelines-for-ambari/index.html        | 198 +++++++++-
 docs/next/ambari-dev/developer-tools/index.html    |  38 +-
 .../ambari-dev/development-in-docker/index.html    |  65 +++-
 .../index.html                                     | 138 ++++++-
 docs/next/ambari-dev/feature-flags/index.html      |  38 +-
 docs/next/ambari-dev/how-to-commit/index.html      |  21 +-
 docs/next/ambari-dev/how-to-contribute/index.html  | 127 ++++++-
 docs/next/ambari-dev/index.html                    | 179 ++++++++-
 docs/next/ambari-dev/releasing-ambari/index.html   |  69 +++-
 docs/next/ambari-dev/unit-test-reports/index.html  |  16 +-
 .../verifying-release-candidate/index.html         |  40 +-
 docs/next/ambari-plugin-contribution/index.html    |  18 +-
 .../ambari-plugin-contribution/scom/index.html     |  50 ++-
 .../scom/installation/index.html                   | 253 ++++++++++++-
 .../step-by-step/index.html                        |  51 ++-
 docs/next/blueprints/index.html                    | 334 ++++++++++++++++-
 docs/next/introduction/index.html                  |  69 +++-
 docs/next/kerberos/index.html                      |  94 ++++-
 .../quick-start-for-new-vm-users/index.html        | 305 +++++++++++++++-
 docs/next/quick-start/quick-start-guide/index.html | 103 +++++-
 .../docker-environment-setup/index.html            | 105 +++++-
 .../bare-metal-kvm-setup/index.html                |  99 ++++-
 .../docker-environment-setup/index.html            | 113 +++++-
 .../vagrant-environment-setup/index.html           | 242 ++++++++++++-
 docs/quick-start/installation-guide/index.html     | 109 +++++-
 docs/quick-start/quick-start-guide/index.html      |  86 ++++-
 docs/release-notes/index.html                      | 309 +++++++++++++++-
 index.html                                         |  15 +-
 team/index.html                                    |  15 +-
 823 files changed, 23753 insertions(+), 3579 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
deleted file mode 100644
index 61b6579..0000000
--- a/.asf.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-staging:
-  profile: ~
-  whoami: asf-site
diff --git a/404.html b/404.html
index 1f2372b..9ad5bad 100644
--- a/404.html
+++ b/404.html
@@ -1,16 +1,13 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="plugin-native plugin-id-default">
+<html lang="en" dir="ltr" class="plugin-native plugin-id-default" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Page Not Found | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/404.html"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><me [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Page Not Found | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta da [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/css/styles.ac45b9c0.css b/assets/css/styles.ac45b9c0.css
deleted file mode 100644
index 6f6fbda..0000000
--- a/assets/css/styles.ac45b9c0.css
+++ /dev/null
@@ -1 +0,0 @@
-.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middl [...]
\ No newline at end of file
diff --git a/assets/css/styles.b0dee94f.css b/assets/css/styles.b0dee94f.css
new file mode 100644
index 0000000..ce7b17c
--- /dev/null
+++ b/assets/css/styles.b0dee94f.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middl [...]
\ No newline at end of file
diff --git a/assets/images/view-versions-ee6dced15de3279f1806ded490d3a6e9.jpg b/assets/images/view-versions-ee6dced15de3279f1806ded490d3a6e9.jpg
new file mode 100644
index 0000000..4dcd45d
Binary files /dev/null and b/assets/images/view-versions-ee6dced15de3279f1806ded490d3a6e9.jpg differ
diff --git a/assets/js/0058b4c6.20dc01d6.js b/assets/js/0058b4c6.20dc01d6.js
new file mode 100644
index 0000000..d829634
--- /dev/null
+++ b/assets/js/0058b4c6.20dc01d6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[849],{86164:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"3.0.0","label":"3.0.0","banner":null,"badge":true,"noIndex":false,"className":"docs-version-3.0.0","isLast":true,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/introduction","docId":"introduction","unlisted":false},{"type":"link","label":"Apache Ambari 3.0.0 Release Notes","href":" [...]
\ No newline at end of file
diff --git a/assets/js/0176d178.30e5364a.js b/assets/js/0176d178.30e5364a.js
new file mode 100644
index 0000000..c43803f
--- /dev/null
+++ b/assets/js/0176d178.30e5364a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[305],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>d});var s=r(96540);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},30724 [...]
\ No newline at end of file
diff --git a/assets/js/0176d178.4fa993b5.js b/assets/js/0176d178.4fa993b5.js
deleted file mode 100644
index 5d30b61..0000000
--- a/assets/js/0176d178.4fa993b5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7850],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/018161c8.62548e3c.js b/assets/js/018161c8.62548e3c.js
deleted file mode 100644
index 3ee29fe..0000000
--- a/assets/js/018161c8.62548e3c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4062],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/018161c8.779386cb.js b/assets/js/018161c8.779386cb.js
new file mode 100644
index 0000000..3968cdd
--- /dev/null
+++ b/assets/js/018161c8.779386cb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7697],{612:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-dev/development-in-docker","title":"Development in Docker","description":"Overview","source":"@site/versioned_docs/version-3.0.0/ambari-dev/development-in-docker.md","sourceDirName":"ambari-dev","slug":"/ambari-dev/development-in-docker","per [...]
\ No newline at end of file
diff --git a/assets/js/02dfd029.7be35534.js b/assets/js/02dfd029.7be35534.js
deleted file mode 100644
index d153469..0000000
--- a/assets/js/02dfd029.7be35534.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4908],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/02dfd029.e39a174a.js b/assets/js/02dfd029.e39a174a.js
new file mode 100644
index 0000000..4e9ee71
--- /dev/null
+++ b/assets/js/02dfd029.e39a174a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5392],{28453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>l});var i=r(96540);const s={},a=i.createContext(s);function t(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(a.Provider,{value:n},e.children)}},9920 [...]
\ No newline at end of file
diff --git a/assets/js/031ea49b.763075cd.js b/assets/js/031ea49b.763075cd.js
deleted file mode 100644
index 17bcfd1..0000000
--- a/assets/js/031ea49b.763075cd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7659],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>u});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/031ea49b.e5f3fa37.js b/assets/js/031ea49b.e5f3fa37.js
new file mode 100644
index 0000000..0021504
--- /dev/null
+++ b/assets/js/031ea49b.e5f3fa37.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8100],{19465:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"ambari-design/metrics/ambari-metrics-whitelisting","title":"Ambari Metrics - Whitelisting","description":"In large clusters (500+ nodes), sometimes there are performance issues seen in AMS aggregations. In the ambari-metrics-collector log file, we [...]
\ No newline at end of file
diff --git a/assets/js/04a8b3d6.806f8a16.js b/assets/js/04a8b3d6.806f8a16.js
new file mode 100644
index 0000000..6d07f85
--- /dev/null
+++ b/assets/js/04a8b3d6.806f8a16.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7303],{26585:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/step6-3a29e2ee2cec79f8c14fd8f7103293fe.png"},28453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>o});var i=s(96540);const r={},n=i.createContext(r);function a(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.component [...]
\ No newline at end of file
diff --git a/assets/js/04a8b3d6.8da64394.js b/assets/js/04a8b3d6.8da64394.js
deleted file mode 100644
index 9a5606c..0000000
--- a/assets/js/04a8b3d6.8da64394.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4673],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/04c1d21d.4516384e.js b/assets/js/04c1d21d.4516384e.js
deleted file mode 100644
index 03cda97..0000000
--- a/assets/js/04c1d21d.4516384e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6988],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var i=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/04c1d21d.df15a44f.js b/assets/js/04c1d21d.df15a44f.js
new file mode 100644
index 0000000..4310b1a
--- /dev/null
+++ b/assets/js/04c1d21d.df15a44f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8242],{28453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var r=i(96540);const t={},s=r.createContext(t);function o(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:n},e.children)}},4528 [...]
\ No newline at end of file
diff --git a/assets/js/05036904.22e6b070.js b/assets/js/05036904.22e6b070.js
deleted file mode 100644
index 676b129..0000000
--- a/assets/js/05036904.22e6b070.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8963],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/05036904.99113121.js b/assets/js/05036904.99113121.js
new file mode 100644
index 0000000..9488bed
--- /dev/null
+++ b/assets/js/05036904.99113121.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8010],{3507:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"ambari-design/metrics/metrics-collector-api-specification","title":"Metrics Collector API Specification","description":"Sending Metrics to AMS (POST)","source":"@site/versioned_docs/version-3.0.0/ambari-design/metrics/metrics-collector-api-specific [...]
\ No newline at end of file
diff --git a/assets/js/050819f5.23e76a27.js b/assets/js/050819f5.23e76a27.js
deleted file mode 100644
index c87b266..0000000
--- a/assets/js/050819f5.23e76a27.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2725],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/050819f5.e44e4e48.js b/assets/js/050819f5.e44e4e48.js
new file mode 100644
index 0000000..012cc02
--- /dev/null
+++ b/assets/js/050819f5.e44e4e48.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2043],{7148:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"ambari-dev/development-process-for-new-major-features","title":"Development Process for New Major Features","description":"Goals","source":"@site/versioned_docs/version-3.0.0/ambari-dev/development-process-for-new-major-features.md","sourceDirName" [...]
\ No newline at end of file
diff --git a/assets/js/054dceaf.759d7ec8.js b/assets/js/054dceaf.759d7ec8.js
deleted file mode 100644
index 22a29e7..0000000
--- a/assets/js/054dceaf.759d7ec8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1615],{3905:(e,t,r)=>{r.d(t,{Zo:()=>b,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/054dceaf.c087e47d.js b/assets/js/054dceaf.c087e47d.js
new file mode 100644
index 0000000..9a5a81f
--- /dev/null
+++ b/assets/js/054dceaf.c087e47d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3083],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>o});var s=r(96540);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},6928 [...]
\ No newline at end of file
diff --git a/assets/js/0558ea97.13ec5fe2.js b/assets/js/0558ea97.13ec5fe2.js
deleted file mode 100644
index f7e8a3a..0000000
--- a/assets/js/0558ea97.13ec5fe2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9986],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0558ea97.530a3cdf.js b/assets/js/0558ea97.530a3cdf.js
new file mode 100644
index 0000000..d871c02
--- /dev/null
+++ b/assets/js/0558ea97.530a3cdf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[855],{17113:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/view-events-629e0ac413767d75fe29d4aa1a3c40ff.jpg"},28453:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>o});var n=i(96540);const a={},r=n.createContext(a);function s(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.comp [...]
\ No newline at end of file
diff --git a/assets/js/060fefe4.e0bf5e34.js b/assets/js/060fefe4.e0bf5e34.js
deleted file mode 100644
index e5835f0..0000000
--- a/assets/js/060fefe4.e0bf5e34.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6009],{3905:(e,t,r)=>{r.d(t,{Zo:()=>b,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/060fefe4.fb57a0aa.js b/assets/js/060fefe4.fb57a0aa.js
new file mode 100644
index 0000000..ac32723
--- /dev/null
+++ b/assets/js/060fefe4.fb57a0aa.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4041],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>o});var s=r(96540);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},9720 [...]
\ No newline at end of file
diff --git a/assets/js/074d2ca8.08299612.js b/assets/js/074d2ca8.08299612.js
deleted file mode 100644
index 5650ac7..0000000
--- a/assets/js/074d2ca8.08299612.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7093],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/074d2ca8.c4992bee.js b/assets/js/074d2ca8.c4992bee.js
new file mode 100644
index 0000000..2982e86
--- /dev/null
+++ b/assets/js/074d2ca8.c4992bee.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8610],{26751:(e,n,r)=>{r.d(n,{A:()=>i});const i=r.p+"assets/images/ambari-scom-msi2-25a46ff2687e33c9c9b91d2e0a6cbe62.png"},28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>l});var i=r(96540);const s={},t=i.createContext(s);function a(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof  [...]
\ No newline at end of file
diff --git a/assets/js/0756658a.66f0da04.js b/assets/js/0756658a.66f0da04.js
deleted file mode 100644
index 44f5b6b..0000000
--- a/assets/js/0756658a.66f0da04.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8952],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0756658a.6cdb2eaf.js b/assets/js/0756658a.6cdb2eaf.js
new file mode 100644
index 0000000..a71d263
--- /dev/null
+++ b/assets/js/0756658a.6cdb2eaf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3611],{28453:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>a});var i=s(96540);const r={},t=i.createContext(r);function c(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(t.Provider,{value:n},e.children)}},8879 [...]
\ No newline at end of file
diff --git a/assets/js/08dc72c7.4943d166.js b/assets/js/08dc72c7.4943d166.js
deleted file mode 100644
index 45e5b55..0000000
--- a/assets/js/08dc72c7.4943d166.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2395],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>u});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/08dc72c7.f83bf7dc.js b/assets/js/08dc72c7.f83bf7dc.js
new file mode 100644
index 0000000..4a5f362
--- /dev/null
+++ b/assets/js/08dc72c7.f83bf7dc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4877],{28453:(e,i,t)=>{t.d(i,{R:()=>l,x:()=>a});var s=t(96540);const n={},r=s.createContext(n);function l(e){const i=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(r.Provider,{value:i},e.children)}},2848 [...]
\ No newline at end of file
diff --git a/assets/js/0a97c556.0eb69128.js b/assets/js/0a97c556.0eb69128.js
new file mode 100644
index 0000000..f683005
--- /dev/null
+++ b/assets/js/0a97c556.0eb69128.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6835],{28453:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>l});var s=n(96540);const i={},r=s.createContext(i);function t(e){const a=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(r.Provider,{value:a},e.children)}},9797 [...]
\ No newline at end of file
diff --git a/assets/js/0a97c556.6ff01e98.js b/assets/js/0a97c556.6ff01e98.js
deleted file mode 100644
index c40c74c..0000000
--- a/assets/js/0a97c556.6ff01e98.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7105],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>u});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0b145710.77c97315.js b/assets/js/0b145710.77c97315.js
new file mode 100644
index 0000000..774ae87
--- /dev/null
+++ b/assets/js/0b145710.77c97315.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7165],{1159:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/gauge-39820bee06f707d0e80caa8a195541f3.png"},28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>o});var t=i(96540);const s={},r=t.createContext(s);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components [...]
\ No newline at end of file
diff --git a/assets/js/0b145710.c5cb5ae0.js b/assets/js/0b145710.c5cb5ae0.js
deleted file mode 100644
index 9e0ddd9..0000000
--- a/assets/js/0b145710.c5cb5ae0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7526],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var r=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0b57a398.ac39c956.js b/assets/js/0b57a398.ac39c956.js
deleted file mode 100644
index cf187f6..0000000
--- a/assets/js/0b57a398.ac39c956.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3549],{3905:(e,n,a)=>{a.d(n,{Zo:()=>p,kt:()=>u});var r=a(67294);function i(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function t(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0b57a398.b529de17.js b/assets/js/0b57a398.b529de17.js
new file mode 100644
index 0000000..03ada1b
--- /dev/null
+++ b/assets/js/0b57a398.b529de17.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9562],{22270:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-design/views/view-api","title":"View API","description":"This section describes basic usage of the View REST API. Browse https://github.com/apache/ambari/blob/trunk/ambari-views/docs/index.md for detailed usage information and examples.","s [...]
\ No newline at end of file
diff --git a/assets/js/0d1d810c.733c7ff2.js b/assets/js/0d1d810c.733c7ff2.js
deleted file mode 100644
index b2d897c..0000000
--- a/assets/js/0d1d810c.733c7ff2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9341],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var r=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0d1d810c.df4cdd3e.js b/assets/js/0d1d810c.df4cdd3e.js
new file mode 100644
index 0000000..d0d56f1
--- /dev/null
+++ b/assets/js/0d1d810c.df4cdd3e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1302],{20480:(e,i,n)=>{n.d(i,{A:()=>t});const t=n.p+"assets/images/widget-browser-603bd739e713b2ac5e16c9dfba2510ba.png"},28453:(e,i,n)=>{n.d(i,{R:()=>a,x:()=>o});var t=n(96540);const s={},r=t.createContext(s);function a(e){const i=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e. [...]
\ No newline at end of file
diff --git a/assets/js/0d432826.57087e4c.js b/assets/js/0d432826.57087e4c.js
deleted file mode 100644
index 93cdec3..0000000
--- a/assets/js/0d432826.57087e4c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7942],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0d432826.8f4e90c6.js b/assets/js/0d432826.8f4e90c6.js
new file mode 100644
index 0000000..6e5c329
--- /dev/null
+++ b/assets/js/0d432826.8f4e90c6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7202],{21839:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-dev/ambari-code-layout","title":"Ambari Code Layout","description":"Ambari code checkout and build instructions are available in Ambari Development page.","source":"@site/versioned_docs/version-2.7.6/ambari-dev/ambari-code-layout.md","sourc [...]
\ No newline at end of file
diff --git a/assets/js/0e036f0e.517ed3be.js b/assets/js/0e036f0e.517ed3be.js
new file mode 100644
index 0000000..fff5d08
--- /dev/null
+++ b/assets/js/0e036f0e.517ed3be.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[204],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},91185 [...]
\ No newline at end of file
diff --git a/assets/js/0e036f0e.f4ef53b3.js b/assets/js/0e036f0e.f4ef53b3.js
deleted file mode 100644
index 82af095..0000000
--- a/assets/js/0e036f0e.f4ef53b3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2262],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0e2e07dc.3b17434d.js b/assets/js/0e2e07dc.3b17434d.js
deleted file mode 100644
index c0515ae..0000000
--- a/assets/js/0e2e07dc.3b17434d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6020],{61488:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"3.0.0","label":"3.0.0","banner":null,"badge":true,"noIndex":false,"className":"docs-version-3.0.0","isLast":true,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/introduction","docId":"introduction"},{"type":"link","label":"Apache Ambari 3.0.0 Release Notes","href":"/docs/release-notes","docId [...]
\ No newline at end of file
diff --git a/assets/js/0eb97e7c.69349ad7.js b/assets/js/0eb97e7c.69349ad7.js
deleted file mode 100644
index 0258da8..0000000
--- a/assets/js/0eb97e7c.69349ad7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2190],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/0eb97e7c.da49cd1b.js b/assets/js/0eb97e7c.da49cd1b.js
new file mode 100644
index 0000000..8a9deed
--- /dev/null
+++ b/assets/js/0eb97e7c.da49cd1b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[675],{28453:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>a});var i=s(96540);const r={},t=i.createContext(r);function c(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(t.Provider,{value:n},e.children)}},96321 [...]
\ No newline at end of file
diff --git a/assets/js/0ed705e8.24ccd2b8.js b/assets/js/0ed705e8.24ccd2b8.js
new file mode 100644
index 0000000..c29ab3c
--- /dev/null
+++ b/assets/js/0ed705e8.24ccd2b8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1355],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>o});var s=r(96540);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},5788 [...]
\ No newline at end of file
diff --git a/assets/js/0ed705e8.bc263cb5.js b/assets/js/0ed705e8.bc263cb5.js
deleted file mode 100644
index 860e811..0000000
--- a/assets/js/0ed705e8.bc263cb5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6890],{3905:(e,t,r)=>{r.d(t,{Zo:()=>b,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1127ee51.4744ee7a.js b/assets/js/1127ee51.4744ee7a.js
new file mode 100644
index 0000000..f8a4f4c
--- /dev/null
+++ b/assets/js/1127ee51.4744ee7a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4184],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var s=i(96540);const r={},t=s.createContext(r);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},8347 [...]
\ No newline at end of file
diff --git a/assets/js/1127ee51.8bc7e92d.js b/assets/js/1127ee51.8bc7e92d.js
deleted file mode 100644
index 39b4df4..0000000
--- a/assets/js/1127ee51.8bc7e92d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3343],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>u});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1133a352.52d7b484.js b/assets/js/1133a352.52d7b484.js
deleted file mode 100644
index 5a0395c..0000000
--- a/assets/js/1133a352.52d7b484.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1204],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1133a352.7f6a445e.js b/assets/js/1133a352.7f6a445e.js
new file mode 100644
index 0000000..3bdf89e
--- /dev/null
+++ b/assets/js/1133a352.7f6a445e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2898],{17473:(e,t,n)=>{n.d(t,{A:()=>y});var r=n(96540),i=n(34164),o=n(30102),s=n(56289),a=n(40797);const c=["zero","one","two","few","many","other"];function l(e){return c.filter((t=>e.includes(t)))}const u={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function d(){const{i18n:{currentLocale:e}}=(0,a.A)();return(0,r.useMemo)((()=>{try{return function(e){const t=new Intl.P [...]
\ No newline at end of file
diff --git a/assets/js/119f619e.3faf5e5d.js b/assets/js/119f619e.3faf5e5d.js
new file mode 100644
index 0000000..6f4621e
--- /dev/null
+++ b/assets/js/119f619e.3faf5e5d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7545],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var r=i(96540);const t={},s=r.createContext(t);function a(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(s.Provider,{value:n},e.children)}},7624 [...]
\ No newline at end of file
diff --git a/assets/js/119f619e.6b9efa7f.js b/assets/js/119f619e.6b9efa7f.js
deleted file mode 100644
index 548c250..0000000
--- a/assets/js/119f619e.6b9efa7f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6290],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>b});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/13d2e1ac.293bd1c6.js b/assets/js/13d2e1ac.293bd1c6.js
deleted file mode 100644
index 4f31357..0000000
--- a/assets/js/13d2e1ac.293bd1c6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[123],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/13d2e1ac.6c770dd2.js b/assets/js/13d2e1ac.6c770dd2.js
new file mode 100644
index 0000000..0f69f77
--- /dev/null
+++ b/assets/js/13d2e1ac.6c770dd2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2107],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},6215 [...]
\ No newline at end of file
diff --git a/assets/js/143af518.287bc468.js b/assets/js/143af518.287bc468.js
new file mode 100644
index 0000000..800850a
--- /dev/null
+++ b/assets/js/143af518.287bc468.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5348],{3864:(e,t,i)=>{i.d(t,{A:()=>n});const n=i.p+"assets/images/view-events-629e0ac413767d75fe29d4aa1a3c40ff.jpg"},27389:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>n,toc:()=>h});const n=JSON.parse('{"id":"ambari-design/views/framework-services","title":"Framework Services","description":"This section describes the framework services that ar [...]
\ No newline at end of file
diff --git a/assets/js/143af518.76b1a04a.js b/assets/js/143af518.76b1a04a.js
deleted file mode 100644
index 7836e3f..0000000
--- a/assets/js/143af518.76b1a04a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6628],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/14ad8e33.1a6aa3f4.js b/assets/js/14ad8e33.1a6aa3f4.js
deleted file mode 100644
index 54de0df..0000000
--- a/assets/js/14ad8e33.1a6aa3f4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1196],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/14ad8e33.c9e8279c.js b/assets/js/14ad8e33.c9e8279c.js
new file mode 100644
index 0000000..bf40c32
--- /dev/null
+++ b/assets/js/14ad8e33.c9e8279c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[500],{28453:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>a});var i=s(96540);const r={},n=i.createContext(r);function c(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(n.Provider,{value:t},e.children)}},33476 [...]
\ No newline at end of file
diff --git a/assets/js/17896441.1d4988c7.js b/assets/js/17896441.1d4988c7.js
new file mode 100644
index 0000000..a0fd141
--- /dev/null
+++ b/assets/js/17896441.1d4988c7.js
@@ -0,0 +1 @@
+(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8401],{2096:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>an});var s=n(96540),a=n(81769),o=n(26849),i=n(74848);const l=s.createContext(null);function c(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,i.jsx)(l.Provider,{value:a,children:t})}function r(){const e= [...]
\ No newline at end of file
diff --git a/assets/js/17896441.8d5b5172.js b/assets/js/17896441.8d5b5172.js
deleted file mode 100644
index dc6d72b..0000000
--- a/assets/js/17896441.8d5b5172.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7918],{3905:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>m,kt:()=>p});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1834de86.1962b419.js b/assets/js/1834de86.1962b419.js
new file mode 100644
index 0000000..e00b407
--- /dev/null
+++ b/assets/js/1834de86.1962b419.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9894],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var r=i(96540);const s={},t=r.createContext(s);function a(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(t.Provider,{value:n},e.children)}},8576 [...]
\ No newline at end of file
diff --git a/assets/js/1834de86.a7886314.js b/assets/js/1834de86.a7886314.js
deleted file mode 100644
index 0002a11..0000000
--- a/assets/js/1834de86.a7886314.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7050],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1850bd86.24595e7a.js b/assets/js/1850bd86.24595e7a.js
deleted file mode 100644
index 7a5c7e9..0000000
--- a/assets/js/1850bd86.24595e7a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7410],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>c});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1850bd86.ea787032.js b/assets/js/1850bd86.ea787032.js
new file mode 100644
index 0000000..b599074
--- /dev/null
+++ b/assets/js/1850bd86.ea787032.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4467],{12006:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>c,frontMatter:()=>s,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"ambari-dev/admin-view-ambari-admin-development","title":"Admin View (ambari-admin) Development","description":"Frontend Development","source":"@site/versioned_docs/version-3.0.0/ambari-dev/admin-view-ambari-admin-development.md","sourceDirName":"a [...]
\ No newline at end of file
diff --git a/assets/js/18fb91db.37d7a902.js b/assets/js/18fb91db.37d7a902.js
deleted file mode 100644
index 94bf93b..0000000
--- a/assets/js/18fb91db.37d7a902.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1081],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/18fb91db.9d6a51c2.js b/assets/js/18fb91db.9d6a51c2.js
new file mode 100644
index 0000000..c3c995b
--- /dev/null
+++ b/assets/js/18fb91db.9d6a51c2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6816],{22029:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"ambari-dev/unit-test-reports","title":"Unit Test Reports","description":"Branch | Unit Test Report URL","source":"@site/versioned_docs/version-2.7.6/ambari-dev/unit-test-reports.md","sourceDirName":"ambari-dev","slug":"/ambari-dev/unit-test-report [...]
\ No newline at end of file
diff --git a/assets/js/1a5a7326.c4fac0b6.js b/assets/js/1a5a7326.c4fac0b6.js
new file mode 100644
index 0000000..acfd7aa
--- /dev/null
+++ b/assets/js/1a5a7326.c4fac0b6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[921],{27930:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"ambari-design/blueprints/index","title":"Blueprints","description":"Introduction","source":"@site/versioned_docs/version-2.7.5/ambari-design/blueprints/index.md","sourceDirName":"ambari-design/blueprints","slug":"/blueprints","permalink":"/docs/2.7 [...]
\ No newline at end of file
diff --git a/assets/js/1a5a7326.f8de3ba3.js b/assets/js/1a5a7326.f8de3ba3.js
deleted file mode 100644
index 421959d..0000000
--- a/assets/js/1a5a7326.f8de3ba3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[680],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return [...]
\ No newline at end of file
diff --git a/assets/js/1bd7c06f.7c94c792.js b/assets/js/1bd7c06f.7c94c792.js
deleted file mode 100644
index 7e0efe3..0000000
--- a/assets/js/1bd7c06f.7c94c792.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[560],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/1bd7c06f.b1948895.js b/assets/js/1bd7c06f.b1948895.js
new file mode 100644
index 0000000..25232c5
--- /dev/null
+++ b/assets/js/1bd7c06f.b1948895.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1136],{28453:(e,t,r)=>{r.d(t,{R:()=>a,x:()=>o});var n=r(96540);const s={},i=n.createContext(s);function a(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(i.Provider,{value:t},e.children)}},8971 [...]
\ No newline at end of file
diff --git a/assets/js/1be78505.bf4c93d0.js b/assets/js/1be78505.bf4c93d0.js
deleted file mode 100644
index 8ccf1c7..0000000
--- a/assets/js/1be78505.bf4c93d0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9514,4972],{19963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ie});var a=n(67294),l=n(86010),o=n(1944),r=n(35281),c=n(43320),i=n(52802),s=n(74477),d=n(1116),m=n(80215),u=n(95999),b=n(12466),p=n(85936);const h="backToTopButton_sjWU",E="backToTopButtonShow_xfvO";function f(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,l]=(0,a.useState)(!1),o=(0,a.useRef)(!1),{startScroll:r,cancelScroll [...]
\ No newline at end of file
diff --git a/assets/js/1ce575d4.3db10770.js b/assets/js/1ce575d4.3db10770.js
deleted file mode 100644
index d56621e..0000000
--- a/assets/js/1ce575d4.3db10770.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[156],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return [...]
\ No newline at end of file
diff --git a/assets/js/1ce575d4.ad4fd754.js b/assets/js/1ce575d4.ad4fd754.js
new file mode 100644
index 0000000..65fe722
--- /dev/null
+++ b/assets/js/1ce575d4.ad4fd754.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2381],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>d});var t=i(96540);const s={},c=t.createContext(s);function r(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(c.Provider,{value:n},e.children)}},5034 [...]
\ No newline at end of file
diff --git a/assets/js/1cf810d7.20a8aef2.js b/assets/js/1cf810d7.20a8aef2.js
deleted file mode 100644
index 698b87b..0000000
--- a/assets/js/1cf810d7.20a8aef2.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8406],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var r=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1cf810d7.d4480ef5.js b/assets/js/1cf810d7.d4480ef5.js
new file mode 100644
index 0000000..70d321c
--- /dev/null
+++ b/assets/js/1cf810d7.d4480ef5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4645],{14460:(e,i,n)=>{n.d(i,{A:()=>t});const t=n.p+"assets/images/widget-browser-603bd739e713b2ac5e16c9dfba2510ba.png"},28102:(e,i,n)=>{n.d(i,{A:()=>t});const t=n.p+"assets/images/create-widget-5562f4970ac860e8c49a98ac2b504e77.png"},28453:(e,i,n)=>{n.d(i,{R:()=>a,x:()=>o});var t=n(96540);const s={},r=t.createContext(s);function a(e){const i=t.useContext(r);return t.useMemo((function(){return"functi [...]
\ No newline at end of file
diff --git a/assets/js/1de16fe7.5a2c26da.js b/assets/js/1de16fe7.5a2c26da.js
new file mode 100644
index 0000000..425b86b
--- /dev/null
+++ b/assets/js/1de16fe7.5a2c26da.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2694],{28453:(n,e,a)=>{a.d(e,{R:()=>r,x:()=>t});var s=a(96540);const i={},c=s.createContext(i);function r(n){const e=s.useContext(c);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function t(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),s.createElement(c.Provider,{value:e},n.children)}},8837 [...]
\ No newline at end of file
diff --git a/assets/js/1de16fe7.e515437b.js b/assets/js/1de16fe7.e515437b.js
deleted file mode 100644
index bdfe1ac..0000000
--- a/assets/js/1de16fe7.e515437b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4844],{3905:(e,a,n)=>{n.d(a,{Zo:()=>p,kt:()=>d});var t=n(67294);function i(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function r(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1df93b7f.35f058de.js b/assets/js/1df93b7f.35f058de.js
new file mode 100644
index 0000000..41213c1
--- /dev/null
+++ b/assets/js/1df93b7f.35f058de.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4583],{22566:(A,r,a)=>{a.d(r,{A:()=>i});var V,q,s,l,e,t,o=a(96540);function g(){return g=Object.assign?Object.assign.bind():function(A){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var V in a)({}).hasOwnProperty.call(a,V)&&(A[V]=a[V])}return A},g.apply(null,arguments)}const i=A=>{let{title:r,titleId:a,...i}=A;return o.createElement("svg",g({xmlns:"http://www.w3.org/2000/svg",viewBox:"- [...]
\ No newline at end of file
diff --git a/assets/js/1df93b7f.f0c90208.js b/assets/js/1df93b7f.f0c90208.js
deleted file mode 100644
index 8e14736..0000000
--- a/assets/js/1df93b7f.f0c90208.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3237],{59476:(A,a,e)=>{e.d(a,{Z:()=>l});var r,V=e(67294);function q(){return q=Object.assign?Object.assign.bind():function(A){for(var a=1;a<arguments.length;a++){var e=arguments[a];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(A[r]=e[r])}return A},q.apply(this,arguments)}const l=A=>{let{title:a,titleId:e,...l}=A;return V.createElement("svg",q({xmlns:"http://www.w3.org/2000/svg",viewBox: [...]
\ No newline at end of file
diff --git a/assets/js/1f36918c.37c9e33f.js b/assets/js/1f36918c.37c9e33f.js
deleted file mode 100644
index 7e73e61..0000000
--- a/assets/js/1f36918c.37c9e33f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4411],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(67294);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1f36918c.fd5cb793.js b/assets/js/1f36918c.fd5cb793.js
new file mode 100644
index 0000000..036c837
--- /dev/null
+++ b/assets/js/1f36918c.fd5cb793.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[172],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>i});var t=s(96540);const r={},c=t.createContext(r);function o(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(c.Provider,{value:n},e.children)}},76687 [...]
\ No newline at end of file
diff --git a/assets/js/1f6191e0.bf41ba58.js b/assets/js/1f6191e0.bf41ba58.js
deleted file mode 100644
index 64bcbaf..0000000
--- a/assets/js/1f6191e0.bf41ba58.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5131],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/1f6191e0.ff22c91c.js b/assets/js/1f6191e0.ff22c91c.js
new file mode 100644
index 0000000..25e31cb
--- /dev/null
+++ b/assets/js/1f6191e0.ff22c91c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8208],{3314:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"ambari-alerts","title":"Ambari Alerts","description":"Help page for Alerts defined in Ambari.","source":"@site/versioned_docs/version-2.7.6/ambari-alerts.md","sourceDirName":".","slug":"/ambari-alerts","permalink":"/docs/2.7.6/ambari-alerts","draft [...]
\ No newline at end of file
diff --git a/assets/js/20029b4c.175f6437.js b/assets/js/20029b4c.175f6437.js
deleted file mode 100644
index 7c9657a..0000000
--- a/assets/js/20029b4c.175f6437.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7451],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>p});var o=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/20029b4c.da3028b3.js b/assets/js/20029b4c.da3028b3.js
new file mode 100644
index 0000000..96d5e41
--- /dev/null
+++ b/assets/js/20029b4c.da3028b3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4481],{9270:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>m});const i=JSON.parse('{"id":"ambari-dev/how-to-commit","title":"How to Commit","description":"This document describes how to commit changes to Ambari. It assumes a knowledge of Git. While it is for committers to use as a guide, it also provides contributors an idea of how the  [...]
\ No newline at end of file
diff --git a/assets/js/24854937.24e53cfe.js b/assets/js/24854937.24e53cfe.js
new file mode 100644
index 0000000..12cb6b1
--- /dev/null
+++ b/assets/js/24854937.24e53cfe.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4255],{17473:(e,t,r)=>{r.d(t,{A:()=>y});var n=r(96540),i=r(34164),a=r(30102),s=r(56289),o=r(40797);const c=["zero","one","two","few","many","other"];function l(e){return c.filter((t=>e.includes(t)))}const d={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function h(){const{i18n:{currentLocale:e}}=(0,o.A)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.P [...]
\ No newline at end of file
diff --git a/assets/js/24854937.aed07d73.js b/assets/js/24854937.aed07d73.js
deleted file mode 100644
index 0952f5d..0000000
--- a/assets/js/24854937.aed07d73.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6159],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/24fbc004.0177fa74.js b/assets/js/24fbc004.0177fa74.js
new file mode 100644
index 0000000..088a501
--- /dev/null
+++ b/assets/js/24fbc004.0177fa74.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9880],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var a=r(96540);const s={},t=a.createContext(s);function i(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(t.Provider,{value:n},e.children)}},4996 [...]
\ No newline at end of file
diff --git a/assets/js/24fbc004.73f43df3.js b/assets/js/24fbc004.73f43df3.js
deleted file mode 100644
index 13a2f44..0000000
--- a/assets/js/24fbc004.73f43df3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6052],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/265a250b.46cfd40d.js b/assets/js/265a250b.46cfd40d.js
new file mode 100644
index 0000000..4b1e5d5
--- /dev/null
+++ b/assets/js/265a250b.46cfd40d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5408],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>c});var i=r(96540);const a={},n=i.createContext(a);function s(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(n.Provider,{value:t},e.children)}},7887 [...]
\ No newline at end of file
diff --git a/assets/js/265a250b.d4491095.js b/assets/js/265a250b.d4491095.js
deleted file mode 100644
index 02c10bc..0000000
--- a/assets/js/265a250b.d4491095.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2019],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>b});var n=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/26769510.600612cb.js b/assets/js/26769510.600612cb.js
deleted file mode 100644
index 7b912cc..0000000
--- a/assets/js/26769510.600612cb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7789],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/26769510.e9c31ced.js b/assets/js/26769510.e9c31ced.js
new file mode 100644
index 0000000..5799a66
--- /dev/null
+++ b/assets/js/26769510.e9c31ced.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3229],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>d});var t=i(96540);const s={},c=t.createContext(s);function r(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(c.Provider,{value:n},e.children)}},5968 [...]
\ No newline at end of file
diff --git a/assets/js/268d2cdd.00b9c2b1.js b/assets/js/268d2cdd.00b9c2b1.js
deleted file mode 100644
index 173b094..0000000
--- a/assets/js/268d2cdd.00b9c2b1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6726],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var i=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/268d2cdd.34df75a8.js b/assets/js/268d2cdd.34df75a8.js
new file mode 100644
index 0000000..5f10de4
--- /dev/null
+++ b/assets/js/268d2cdd.34df75a8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8662],{28453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var r=i(96540);const t={},s=r.createContext(t);function o(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:n},e.children)}},4253 [...]
\ No newline at end of file
diff --git a/assets/js/29dcaf5c.acef75de.js b/assets/js/29dcaf5c.acef75de.js
deleted file mode 100644
index 9f94d9d..0000000
--- a/assets/js/29dcaf5c.acef75de.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1672],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/29dcaf5c.b413dd4c.js b/assets/js/29dcaf5c.b413dd4c.js
new file mode 100644
index 0000000..13c88d9
--- /dev/null
+++ b/assets/js/29dcaf5c.b413dd4c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2398],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var i=t(96540);const s={},a=i.createContext(s);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(a.Provider,{value:n},e.children)}},6622 [...]
\ No newline at end of file
diff --git a/assets/js/2b259718.8d88e818.js b/assets/js/2b259718.8d88e818.js
new file mode 100644
index 0000000..2450e25
--- /dev/null
+++ b/assets/js/2b259718.8d88e818.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2863],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>l});var s=i(96540);const t={},a=s.createContext(t);function r(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(a.Provider,{value:n},e.children)}},3794 [...]
\ No newline at end of file
diff --git a/assets/js/2b259718.cefce329.js b/assets/js/2b259718.cefce329.js
deleted file mode 100644
index 7ef68e8..0000000
--- a/assets/js/2b259718.cefce329.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[391],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>p});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return [...]
\ No newline at end of file
diff --git a/assets/js/2bd4e917.4b859004.js b/assets/js/2bd4e917.4b859004.js
new file mode 100644
index 0000000..9628f05
--- /dev/null
+++ b/assets/js/2bd4e917.4b859004.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[657],{28453:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>o});var i=r(96540);const s={},n=i.createContext(s);function c(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(n.Provider,{value:t},e.children)}},72947 [...]
\ No newline at end of file
diff --git a/assets/js/2bd4e917.8308cd0e.js b/assets/js/2bd4e917.8308cd0e.js
deleted file mode 100644
index d6e4511..0000000
--- a/assets/js/2bd4e917.8308cd0e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[616],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/2c16f96f.1f10a541.js b/assets/js/2c16f96f.1f10a541.js
deleted file mode 100644
index 55f2912..0000000
--- a/assets/js/2c16f96f.1f10a541.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5597],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/2c16f96f.4e7d6bd2.js b/assets/js/2c16f96f.4e7d6bd2.js
new file mode 100644
index 0000000..9f7878f
--- /dev/null
+++ b/assets/js/2c16f96f.4e7d6bd2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5980],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var r=s(96540);const t={},i=r.createContext(t);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(i.Provider,{value:n},e.children)}},3405 [...]
\ No newline at end of file
diff --git a/assets/js/2d5ecd32.1a87a563.js b/assets/js/2d5ecd32.1a87a563.js
deleted file mode 100644
index 51221b3..0000000
--- a/assets/js/2d5ecd32.1a87a563.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8983],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>k});var i=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/2d5ecd32.9a6bb0b1.js b/assets/js/2d5ecd32.9a6bb0b1.js
new file mode 100644
index 0000000..235039b
--- /dev/null
+++ b/assets/js/2d5ecd32.9a6bb0b1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7977],{1653:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-design/quick-links","title":"Quick Links","description":"Introduction","source":"@site/versioned_docs/version-2.7.5/ambari-design/quick-links.md","sourceDirName":"ambari-design","slug":"/ambari-design/quick-links","permalink":"/docs/2.7.5/am [...]
\ No newline at end of file
diff --git a/assets/js/2e02a06c.0440c856.js b/assets/js/2e02a06c.0440c856.js
deleted file mode 100644
index 1d64794..0000000
--- a/assets/js/2e02a06c.0440c856.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7885],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/2e02a06c.938af96c.js b/assets/js/2e02a06c.938af96c.js
new file mode 100644
index 0000000..eef6162
--- /dev/null
+++ b/assets/js/2e02a06c.938af96c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4120],{9822:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"ambari-design/stack-and-services/defining-a-custom-stack-and-services","title":"Defining a Custom Stack and Services","description":"Background","source":"@site/versioned_docs/version-3.0.0/ambari-design/stack-and-services/defining-a-custom-stack-a [...]
\ No newline at end of file
diff --git a/assets/js/3042.ee02db81.js b/assets/js/3042.ee02db81.js
new file mode 100644
index 0000000..1dca64f
--- /dev/null
+++ b/assets/js/3042.ee02db81.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3042],{65932:(e,t,i)=>{i.d(t,{A:()=>r});i(96540);var n=i(34164),s=i(50539),a=i(9303),o=i(74848);function r(e){let{className:t}=e;return(0,o.jsx)("main",{className:(0,n.A)("container margin-vert--xl",t),children:(0,o.jsx)("div",{className:"row",children:(0,o.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,o.jsx)(a.A,{as:"h1",className:"hero__title",children:(0,o.jsx)(s.A,{id:"theme.Not [...]
\ No newline at end of file
diff --git a/assets/js/30f8251a.14eed373.js b/assets/js/30f8251a.14eed373.js
new file mode 100644
index 0000000..76275c0
--- /dev/null
+++ b/assets/js/30f8251a.14eed373.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1113],{7134:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ambari-design/stack-and-services/index","title":"Stacks and Services","description":"Introduction","source":"@site/versioned_docs/version-3.0.0/ambari-design/stack-and-services/index.md","sourceDirName":"ambari-design/stack-and-services","slug":"/a [...]
\ No newline at end of file
diff --git a/assets/js/30f8251a.de37e2ba.js b/assets/js/30f8251a.de37e2ba.js
deleted file mode 100644
index 39d3766..0000000
--- a/assets/js/30f8251a.de37e2ba.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3967],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/33fa7d5c.682807d0.js b/assets/js/33fa7d5c.682807d0.js
new file mode 100644
index 0000000..3e993b5
--- /dev/null
+++ b/assets/js/33fa7d5c.682807d0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2143],{6264:(e,t,r)=>{r.d(t,{A:()=>i});const i=r.p+"assets/images/ams-arch-e1f8a953ce31cdf3b26cd39c3ebac341.jpg"},28453:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>o});var i=r(96540);const s={},n=i.createContext(s);function c(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.compone [...]
\ No newline at end of file
diff --git a/assets/js/33fa7d5c.e75712a1.js b/assets/js/33fa7d5c.e75712a1.js
deleted file mode 100644
index 6f722de..0000000
--- a/assets/js/33fa7d5c.e75712a1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[927],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/349e1d36.4488710f.js b/assets/js/349e1d36.4488710f.js
new file mode 100644
index 0000000..b411e10
--- /dev/null
+++ b/assets/js/349e1d36.4488710f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7464],{28453:(n,e,a)=>{a.d(e,{R:()=>r,x:()=>t});var s=a(96540);const i={},c=s.createContext(i);function r(n){const e=s.useContext(c);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function t(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),s.createElement(c.Provider,{value:e},n.children)}},9549 [...]
\ No newline at end of file
diff --git a/assets/js/349e1d36.54dccd1a.js b/assets/js/349e1d36.54dccd1a.js
deleted file mode 100644
index 31cd9b5..0000000
--- a/assets/js/349e1d36.54dccd1a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5165],{3905:(e,a,n)=>{n.d(a,{Zo:()=>p,kt:()=>d});var t=n(67294);function i(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function r(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}retur [...]
\ No newline at end of file
diff --git a/assets/js/34c6c789.0b14606f.js b/assets/js/34c6c789.0b14606f.js
deleted file mode 100644
index bb41b8b..0000000
--- a/assets/js/34c6c789.0b14606f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[956],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>p});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return [...]
\ No newline at end of file
diff --git a/assets/js/34c6c789.7bb79afc.js b/assets/js/34c6c789.7bb79afc.js
new file mode 100644
index 0000000..afcf5f7
--- /dev/null
+++ b/assets/js/34c6c789.7bb79afc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6634],{25006:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ambari-design/enhanced-configs/index","title":"Enhanced Configs","description":"Introduced in Ambari-2.1.0, the Enhanced Configs feature makes it possible for service providers to customize their service\'s configs to a great deal and determine wh [...]
\ No newline at end of file
diff --git a/assets/js/354c0217.738059c4.js b/assets/js/354c0217.738059c4.js
new file mode 100644
index 0000000..d4ca385
--- /dev/null
+++ b/assets/js/354c0217.738059c4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1554],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},7345 [...]
\ No newline at end of file
diff --git a/assets/js/354c0217.a87b7b04.js b/assets/js/354c0217.a87b7b04.js
deleted file mode 100644
index 6a40abd..0000000
--- a/assets/js/354c0217.a87b7b04.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1565],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>m});var i=t(67294);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/35a01251.37b3262e.js b/assets/js/35a01251.37b3262e.js
deleted file mode 100644
index b59d6de..0000000
--- a/assets/js/35a01251.37b3262e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8746],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/35a01251.ec29617f.js b/assets/js/35a01251.ec29617f.js
new file mode 100644
index 0000000..8ff777e
--- /dev/null
+++ b/assets/js/35a01251.ec29617f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8831],{28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(96540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}},3453 [...]
\ No newline at end of file
diff --git a/assets/js/36507dff.319124bb.js b/assets/js/36507dff.319124bb.js
deleted file mode 100644
index 3a5769f..0000000
--- a/assets/js/36507dff.319124bb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7912],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/36507dff.a3ebd9ce.js b/assets/js/36507dff.a3ebd9ce.js
new file mode 100644
index 0000000..da560af
--- /dev/null
+++ b/assets/js/36507dff.a3ebd9ce.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7914],{22277:(e,r,s)=>{s.d(r,{A:()=>i});const i=s.p+"assets/images/connect-phoenix-9e9ee4da01440af51806ce2aa4372809.png"},28453:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>c});var i=s(96540);const n={},t=i.createContext(n);function d(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e [...]
\ No newline at end of file
diff --git a/assets/js/3686d71d.14b17a18.js b/assets/js/3686d71d.14b17a18.js
new file mode 100644
index 0000000..0dd8443
--- /dev/null
+++ b/assets/js/3686d71d.14b17a18.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4490],{14629:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"ambari-design/stack-and-services/stack-inheritance","title":"Stack Inheritance","description":"Each stack version must provide a metainfo.xml descriptor file which can declare whether the stack inherits from another stack version:","source":"@site [...]
\ No newline at end of file
diff --git a/assets/js/3686d71d.c519c3f5.js b/assets/js/3686d71d.c519c3f5.js
deleted file mode 100644
index 62be683..0000000
--- a/assets/js/3686d71d.c519c3f5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8870],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>h});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/385bcace.30f74aa8.js b/assets/js/385bcace.30f74aa8.js
new file mode 100644
index 0000000..795a15f
--- /dev/null
+++ b/assets/js/385bcace.30f74aa8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2759],{13618:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"quick-start/docker-environment-setup","title":"Docker Environment Setup for Apache Ambari","description":"This guide helps you set up a Docker environment for Apache Ambari development and testing. Using Docker containers provides a lightweight al [...]
\ No newline at end of file
diff --git a/assets/js/385bcace.94c2ce21.js b/assets/js/385bcace.94c2ce21.js
deleted file mode 100644
index f0c7260..0000000
--- a/assets/js/385bcace.94c2ce21.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1510],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>h});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/3a9703f4.6e9f02af.js b/assets/js/3a9703f4.6e9f02af.js
new file mode 100644
index 0000000..e56f187
--- /dev/null
+++ b/assets/js/3a9703f4.6e9f02af.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[146],{19763:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"ambari-design/stack-and-services/version-functions-conf-select-and-stack-select","title":"Version functions: conf-select and stack-select","description":"Especially during upgrade, it is important to be able to set the current stack and configurati [...]
\ No newline at end of file
diff --git a/assets/js/3a9703f4.c18304c7.js b/assets/js/3a9703f4.c18304c7.js
deleted file mode 100644
index b873c42..0000000
--- a/assets/js/3a9703f4.c18304c7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[946],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(67294);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return [...]
\ No newline at end of file
diff --git a/assets/js/3ad25d49.a888f8dd.js b/assets/js/3ad25d49.a888f8dd.js
deleted file mode 100644
index eafb79f..0000000
--- a/assets/js/3ad25d49.a888f8dd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7990],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>c});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/3ad25d49.b0c1364a.js b/assets/js/3ad25d49.b0c1364a.js
new file mode 100644
index 0000000..16ad7bf
--- /dev/null
+++ b/assets/js/3ad25d49.b0c1364a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7279],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var r=t(96540);const i={},a=r.createContext(i);function s(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(a.Provider,{value:n},e.children)}},5823 [...]
\ No newline at end of file
diff --git a/assets/js/3b725520.4d6c728e.js b/assets/js/3b725520.4d6c728e.js
deleted file mode 100644
index 63eebe4..0000000
--- a/assets/js/3b725520.4d6c728e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9504],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/3b725520.e7b66d9d.js b/assets/js/3b725520.e7b66d9d.js
new file mode 100644
index 0000000..228ba66
--- /dev/null
+++ b/assets/js/3b725520.e7b66d9d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2223],{3673:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"quick-start/quick-start-guide","title":"Quick Start Guide","description":"This document shows how to quickly set up a cluster using Ambari on your local machine using virtual machines.","source":"@site/docs/quick-start/quick-start-guide.md","source [...]
\ No newline at end of file
diff --git a/assets/js/3c3baabb.08aa1a1b.js b/assets/js/3c3baabb.08aa1a1b.js
deleted file mode 100644
index 23be1fb..0000000
--- a/assets/js/3c3baabb.08aa1a1b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2709],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/3c3baabb.ef27c911.js b/assets/js/3c3baabb.ef27c911.js
new file mode 100644
index 0000000..0e8c36d
--- /dev/null
+++ b/assets/js/3c3baabb.ef27c911.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2056],{16389:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-design/metrics/ambari-server-metrics","title":"Ambari Server Metrics","description":"Outline","source":"@site/versioned_docs/version-2.7.6/ambari-design/metrics/ambari-server-metrics.md","sourceDirName":"ambari-design/metrics","slug":"/amba [...]
\ No newline at end of file
diff --git a/assets/js/3d4028ce.877dc0c6.js b/assets/js/3d4028ce.877dc0c6.js
deleted file mode 100644
index a51f101..0000000
--- a/assets/js/3d4028ce.877dc0c6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7740],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/3d4028ce.9083d48a.js b/assets/js/3d4028ce.9083d48a.js
new file mode 100644
index 0000000..4239fa5
--- /dev/null
+++ b/assets/js/3d4028ce.9083d48a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6392],{12782:(e,i,t)=>{t.d(i,{A:()=>r});const r=t.p+"assets/images/reviewers-e4736384b07e9813bbca1b1091116e5a.png"},28453:(e,i,t)=>{t.d(i,{R:()=>n,x:()=>a});var r=t(96540);const o={},s=r.createContext(o);function n(e){const i=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.compo [...]
\ No newline at end of file
diff --git a/assets/js/3e692ce2.6ebca026.js b/assets/js/3e692ce2.6ebca026.js
new file mode 100644
index 0000000..a1749ed
--- /dev/null
+++ b/assets/js/3e692ce2.6ebca026.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9532],{28453:(e,a,n)=>{n.d(a,{R:()=>l,x:()=>t});var r=n(96540);const s={},i=r.createContext(s);function l(e){const a=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function t(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(i.Provider,{value:a},e.children)}},7464 [...]
\ No newline at end of file
diff --git a/assets/js/3e692ce2.a9163574.js b/assets/js/3e692ce2.a9163574.js
deleted file mode 100644
index bb82ec1..0000000
--- a/assets/js/3e692ce2.a9163574.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2253],{3905:(e,a,r)=>{r.d(a,{Zo:()=>p,kt:()=>d});var t=r(67294);function n(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function s(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),r.push.apply(r,t)}retur [...]
\ No newline at end of file
diff --git a/assets/js/40115c7f.9168115f.js b/assets/js/40115c7f.9168115f.js
new file mode 100644
index 0000000..577eced
--- /dev/null
+++ b/assets/js/40115c7f.9168115f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[482],{28453:(e,i,s)=>{s.d(i,{R:()=>t,x:()=>o});var n=s(96540);const r={},a=n.createContext(r);function t(e){const i=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),n.createElement(a.Provider,{value:i},e.children)}},49058 [...]
\ No newline at end of file
diff --git a/assets/js/40115c7f.ca3b95fa.js b/assets/js/40115c7f.ca3b95fa.js
deleted file mode 100644
index a30c631..0000000
--- a/assets/js/40115c7f.ca3b95fa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2206],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>v});var i=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/404115de.9a636303.js b/assets/js/404115de.9a636303.js
new file mode 100644
index 0000000..8ef905a
--- /dev/null
+++ b/assets/js/404115de.9a636303.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9085],{26005:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-dev/apache-ambari-jira","title":"Apache Ambari JIRA","description":"The following page describes the Apache Ambari JIRA components for tasks, bugs and improvements across the core project + contributions.","source":"@site/versioned_docs/ver [...]
\ No newline at end of file
diff --git a/assets/js/404115de.9ec9260f.js b/assets/js/404115de.9ec9260f.js
deleted file mode 100644
index 7a2e8e2..0000000
--- a/assets/js/404115de.9ec9260f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3686],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>u});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4268dd16.1d4729f7.js b/assets/js/4268dd16.1d4729f7.js
deleted file mode 100644
index 0e6ea0b..0000000
--- a/assets/js/4268dd16.1d4729f7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7791],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4268dd16.ce44da1c.js b/assets/js/4268dd16.ce44da1c.js
new file mode 100644
index 0000000..19f8cf8
--- /dev/null
+++ b/assets/js/4268dd16.ce44da1c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7418],{23840:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"ambari-design/stack-and-services/faq","title":"FAQ","description":"[STACK]/[SERVICE]/metainfo.xml","source":"@site/versioned_docs/version-2.7.5/ambari-design/stack-and-services/faq.md","sourceDirName":"ambari-design/stack-and-services","slug":"/am [...]
\ No newline at end of file
diff --git a/assets/js/45627c5d.0e65dfac.js b/assets/js/45627c5d.0e65dfac.js
deleted file mode 100644
index e9f710c..0000000
--- a/assets/js/45627c5d.0e65dfac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2760],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/45627c5d.46906ce0.js b/assets/js/45627c5d.46906ce0.js
new file mode 100644
index 0000000..28108cf
--- /dev/null
+++ b/assets/js/45627c5d.46906ce0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1079],{28453:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>c});var i=s(96540);const n={},t=i.createContext(n);function d(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),i.createElement(t.Provider,{value:r},e.children)}},3505 [...]
\ No newline at end of file
diff --git a/assets/js/482e9b7d.dca69031.js b/assets/js/482e9b7d.dca69031.js
deleted file mode 100644
index 0b75ae5..0000000
--- a/assets/js/482e9b7d.dca69031.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[987],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/482e9b7d.ed3f7629.js b/assets/js/482e9b7d.ed3f7629.js
new file mode 100644
index 0000000..4e95050
--- /dev/null
+++ b/assets/js/482e9b7d.ed3f7629.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[524],{27534:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"ambari-design/alerts","title":"Alerts","description":"WEB and METRIC alert types include a connectiontimeout property on the alert definition (see below in AlertDefinition uri : connectiontimeout). This value is in seconds and defaults to 5.0. Use  [...]
\ No newline at end of file
diff --git a/assets/js/4837abef.6b77aff4.js b/assets/js/4837abef.6b77aff4.js
new file mode 100644
index 0000000..5646bd7
--- /dev/null
+++ b/assets/js/4837abef.6b77aff4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4197],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var s=i(96540);const r={},t=s.createContext(r);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},5817 [...]
\ No newline at end of file
diff --git a/assets/js/4837abef.b2dd683f.js b/assets/js/4837abef.b2dd683f.js
deleted file mode 100644
index 1921b7b..0000000
--- a/assets/js/4837abef.b2dd683f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2175],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>u});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/48964a5c.f1dff5e3.js b/assets/js/48964a5c.f1dff5e3.js
deleted file mode 100644
index 8efa7c8..0000000
--- a/assets/js/48964a5c.f1dff5e3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4514],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/48964a5c.f2f11ed2.js b/assets/js/48964a5c.f2f11ed2.js
new file mode 100644
index 0000000..4905bb9
--- /dev/null
+++ b/assets/js/48964a5c.f2f11ed2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1223],{11575:(e,t,a)=>{a.d(t,{A:()=>s});const s=a.p+"assets/images/experimental-features -c601078b043b95cde54e962adefef089.png"},28453:(e,t,a)=>{a.d(t,{R:()=>o,x:()=>i});var s=a(96540);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==t [...]
\ No newline at end of file
diff --git a/assets/js/48febe53.520a2b5d.js b/assets/js/48febe53.520a2b5d.js
new file mode 100644
index 0000000..87580c5
--- /dev/null
+++ b/assets/js/48febe53.520a2b5d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[383],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var s=i(96540);const r={},t=s.createContext(r);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},92269 [...]
\ No newline at end of file
diff --git a/assets/js/48febe53.54850368.js b/assets/js/48febe53.54850368.js
deleted file mode 100644
index 1173ba8..0000000
--- a/assets/js/48febe53.54850368.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6460],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>u});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4926436e.0fa818bf.js b/assets/js/4926436e.0fa818bf.js
deleted file mode 100644
index 28c0b87..0000000
--- a/assets/js/4926436e.0fa818bf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2888],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>m});var i=t(67294);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4926436e.73a9045b.js b/assets/js/4926436e.73a9045b.js
new file mode 100644
index 0000000..c94a491
--- /dev/null
+++ b/assets/js/4926436e.73a9045b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5534],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},5345 [...]
\ No newline at end of file
diff --git a/assets/js/4972.bf576ca6.js b/assets/js/4972.bf576ca6.js
deleted file mode 100644
index a99864d..0000000
--- a/assets/js/4972.bf576ca6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4972],{4972:(e,t,a)=>{a.r(t),a.d(t,{default:()=>i});var n=a(67294),l=a(95999),o=a(1944),r=a(80215);function i(){return n.createElement(n.Fragment,null,n.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),n.createElement(r.Z,null,n.createElement("main",{className:"container margin-vert--xl"},n.createElement("div",{className:"row"},n.createElement("div",{className [...]
\ No newline at end of file
diff --git a/assets/js/4a4df22c.140d63e3.js b/assets/js/4a4df22c.140d63e3.js
new file mode 100644
index 0000000..d0cc72e
--- /dev/null
+++ b/assets/js/4a4df22c.140d63e3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8247],{28453:(e,t,i)=>{i.d(t,{R:()=>l,x:()=>d});var r=i(96540);const s={},n=r.createContext(s);function l(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(n.Provider,{value:t},e.children)}},6796 [...]
\ No newline at end of file
diff --git a/assets/js/4a4df22c.d848e55a.js b/assets/js/4a4df22c.d848e55a.js
deleted file mode 100644
index 8940a66..0000000
--- a/assets/js/4a4df22c.d848e55a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1745],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4a85434f.8d81d0fe.js b/assets/js/4a85434f.8d81d0fe.js
new file mode 100644
index 0000000..f7eec05
--- /dev/null
+++ b/assets/js/4a85434f.8d81d0fe.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1378],{16291:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"ambari-dev/index","title":"Ambari Development","description":"Checking out Ambari source","source":"@site/versioned_docs/version-3.0.0/ambari-dev/index.md","sourceDirName":"ambari-dev","slug":"/ambari-dev/","permalink":"/docs/ambari-dev/","draft": [...]
\ No newline at end of file
diff --git a/assets/js/4a85434f.dbaf9cd6.js b/assets/js/4a85434f.dbaf9cd6.js
deleted file mode 100644
index 269f557..0000000
--- a/assets/js/4a85434f.dbaf9cd6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4966],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4c8a8f74.9f24f337.js b/assets/js/4c8a8f74.9f24f337.js
new file mode 100644
index 0000000..b14cc36
--- /dev/null
+++ b/assets/js/4c8a8f74.9f24f337.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3594],{8970:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/step6-3a29e2ee2cec79f8c14fd8f7103293fe.png"},21838:(e,t,s)=>{s.d(t,{A:()=>i});const i=s.p+"assets/images/step2-4125b5f6ce42d083d93a9958908e0745.png"},28453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>o});var i=s(96540);const r={},n=i.createContext(r);function a(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t) [...]
\ No newline at end of file
diff --git a/assets/js/4c8a8f74.a2c43459.js b/assets/js/4c8a8f74.a2c43459.js
deleted file mode 100644
index aeff8c2..0000000
--- a/assets/js/4c8a8f74.a2c43459.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9153],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4dd343cf.39dfdfac.js b/assets/js/4dd343cf.39dfdfac.js
deleted file mode 100644
index c6b3715..0000000
--- a/assets/js/4dd343cf.39dfdfac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5160],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>c});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4dd343cf.76a72c5c.js b/assets/js/4dd343cf.76a72c5c.js
new file mode 100644
index 0000000..590968b
--- /dev/null
+++ b/assets/js/4dd343cf.76a72c5c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3164],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var r=t(96540);const i={},a=r.createContext(i);function s(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(a.Provider,{value:n},e.children)}},3705 [...]
\ No newline at end of file
diff --git a/assets/js/4e0d7bff.238c24f7.js b/assets/js/4e0d7bff.238c24f7.js
new file mode 100644
index 0000000..425e71e
--- /dev/null
+++ b/assets/js/4e0d7bff.238c24f7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8305],{28453:(e,t,r)=>{r.d(t,{R:()=>l,x:()=>a});var i=r(96540);const s={},n=i.createContext(s);function l(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(n.Provider,{value:t},e.children)}},8997 [...]
\ No newline at end of file
diff --git a/assets/js/4e0d7bff.b4d601c9.js b/assets/js/4e0d7bff.b4d601c9.js
deleted file mode 100644
index 254b6aa..0000000
--- a/assets/js/4e0d7bff.b4d601c9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8524],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/4ee3082f.93ec7468.js b/assets/js/4ee3082f.93ec7468.js
new file mode 100644
index 0000000..7cfeaf5
--- /dev/null
+++ b/assets/js/4ee3082f.93ec7468.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7086],{23078:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"2.7.6","label":"2.7.6","banner":"unmaintained","badge":true,"noIndex":false,"className":"docs-version-2.7.6","isLast":false,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/2.7.6/introduction","docId":"introduction","unlisted":false},{"type":"category","label":"Quick Start","collaps [...]
\ No newline at end of file
diff --git a/assets/js/4f1df855.6241be25.js b/assets/js/4f1df855.6241be25.js
new file mode 100644
index 0000000..f65a06b
--- /dev/null
+++ b/assets/js/4f1df855.6241be25.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9494],{11468:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"faq","title":"Frequently Asked Questions (FAQ)","description":"This page provides answers to commonly asked questions about Apache Ambari 3.0.0. If you don\'t find an answer to your question here, please reach out to the community via the mailing  [...]
\ No newline at end of file
diff --git a/assets/js/4f1df855.fba5a5b6.js b/assets/js/4f1df855.fba5a5b6.js
deleted file mode 100644
index 5d429f3..0000000
--- a/assets/js/4f1df855.fba5a5b6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[859],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/4f3be5fe.9dd137c1.js b/assets/js/4f3be5fe.9dd137c1.js
new file mode 100644
index 0000000..3cdba58
--- /dev/null
+++ b/assets/js/4f3be5fe.9dd137c1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2255],{28453:(e,r,n)=>{n.d(r,{R:()=>a,x:()=>s});var i=n(96540);const t={},o=i.createContext(t);function a(e){const r=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),i.createElement(o.Provider,{value:r},e.children)}},7620 [...]
\ No newline at end of file
diff --git a/assets/js/4f3be5fe.f74fcd7f.js b/assets/js/4f3be5fe.f74fcd7f.js
deleted file mode 100644
index 02af734..0000000
--- a/assets/js/4f3be5fe.f74fcd7f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5295],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/5045.eb93db5a.js b/assets/js/5045.eb93db5a.js
deleted file mode 100644
index 4608d0d..0000000
--- a/assets/js/5045.eb93db5a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5045],{38252:t=>{t.exports=function t(i,e){if(i===e)return!0;if(i&&e&&"object"==typeof i&&"object"==typeof e){if(i.constructor!==e.constructor)return!1;var s,o,n;if(Array.isArray(i)){if((s=i.length)!=e.length)return!1;for(o=s;0!=o--;)if(!t(i[o],e[o]))return!1;return!0}if(i.constructor===RegExp)return i.source===e.source&&i.flags===e.flags;if(i.valueOf!==Object.prototype.valueOf)return i.valueOf()=== [...]
\ No newline at end of file
diff --git a/assets/js/50cbb992.3a145f7a.js b/assets/js/50cbb992.3a145f7a.js
new file mode 100644
index 0000000..22cc872
--- /dev/null
+++ b/assets/js/50cbb992.3a145f7a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6193],{28453:(e,t,i)=>{i.d(t,{R:()=>s,x:()=>o});var n=i(96540);const a={},r=n.createContext(a);function s(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(r.Provider,{value:t},e.children)}},4529 [...]
\ No newline at end of file
diff --git a/assets/js/50cbb992.bf83444b.js b/assets/js/50cbb992.bf83444b.js
deleted file mode 100644
index 7817ea5..0000000
--- a/assets/js/50cbb992.bf83444b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5586],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/51d10e13.c5a7b533.js b/assets/js/51d10e13.c5a7b533.js
new file mode 100644
index 0000000..cc8c5b6
--- /dev/null
+++ b/assets/js/51d10e13.c5a7b533.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5965],{25709:(e,i,t)=>{t.d(i,{A:()=>o});const o=t.p+"assets/images/reviewers-e4736384b07e9813bbca1b1091116e5a.png"},28453:(e,i,t)=>{t.d(i,{R:()=>n,x:()=>a});var o=t(96540);const r={},s=o.createContext(r);function n(e){const i=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.compo [...]
\ No newline at end of file
diff --git a/assets/js/51d10e13.fdc36d8d.js b/assets/js/51d10e13.fdc36d8d.js
deleted file mode 100644
index 7e82f73..0000000
--- a/assets/js/51d10e13.fdc36d8d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4876],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/52cda06f.4dc2c692.js b/assets/js/52cda06f.4dc2c692.js
new file mode 100644
index 0000000..54b81c4
--- /dev/null
+++ b/assets/js/52cda06f.4dc2c692.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8468],{28453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>o});var r=n(96540);const i={},a=r.createContext(i);function t(e){const s=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(a.Provider,{value:s},e.children)}},2976 [...]
\ No newline at end of file
diff --git a/assets/js/52cda06f.b8dde2b5.js b/assets/js/52cda06f.b8dde2b5.js
deleted file mode 100644
index e2975cf..0000000
--- a/assets/js/52cda06f.b8dde2b5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8309],{3905:(e,a,t)=>{t.d(a,{Zo:()=>l,kt:()=>h});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/53142a12.62799087.js b/assets/js/53142a12.62799087.js
new file mode 100644
index 0000000..07e8391
--- /dev/null
+++ b/assets/js/53142a12.62799087.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[362],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>d});var s=r(96540);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},30985 [...]
\ No newline at end of file
diff --git a/assets/js/53142a12.c60a277f.js b/assets/js/53142a12.c60a277f.js
deleted file mode 100644
index b41684b..0000000
--- a/assets/js/53142a12.c60a277f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7064],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/55a16fa7.16ea8703.js b/assets/js/55a16fa7.16ea8703.js
new file mode 100644
index 0000000..688281e
--- /dev/null
+++ b/assets/js/55a16fa7.16ea8703.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5335],{28453:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>a});var r=i(96540);const s={},n=r.createContext(s);function c(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(n.Provider,{value:t},e.children)}},5124 [...]
\ No newline at end of file
diff --git a/assets/js/55a16fa7.fb5c90a8.js b/assets/js/55a16fa7.fb5c90a8.js
deleted file mode 100644
index 08a0d88..0000000
--- a/assets/js/55a16fa7.fb5c90a8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6259],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/578c3d15.c1b01174.js b/assets/js/578c3d15.c1b01174.js
new file mode 100644
index 0000000..1b1138a
--- /dev/null
+++ b/assets/js/578c3d15.c1b01174.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1251],{28453:(e,i,t)=>{t.d(i,{R:()=>n,x:()=>a});var o=t(96540);const r={},s=o.createContext(r);function n(e){const i=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),o.createElement(s.Provider,{value:i},e.children)}},4266 [...]
\ No newline at end of file
diff --git a/assets/js/578c3d15.db43e057.js b/assets/js/578c3d15.db43e057.js
deleted file mode 100644
index 2f44c42..0000000
--- a/assets/js/578c3d15.db43e057.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9869],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/58004ff3.31ac918d.js b/assets/js/58004ff3.31ac918d.js
deleted file mode 100644
index 25b7595..0000000
--- a/assets/js/58004ff3.31ac918d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5574],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/58004ff3.ee49d3e6.js b/assets/js/58004ff3.ee49d3e6.js
new file mode 100644
index 0000000..71211ad
--- /dev/null
+++ b/assets/js/58004ff3.ee49d3e6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8347],{28453:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>a});var r=i(96540);const s={},n=r.createContext(s);function c(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(n.Provider,{value:t},e.children)}},6878 [...]
\ No newline at end of file
diff --git a/assets/js/58433c70.602d5f2d.js b/assets/js/58433c70.602d5f2d.js
new file mode 100644
index 0000000..2c9907a
--- /dev/null
+++ b/assets/js/58433c70.602d5f2d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3100],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>d});var t=i(96540);const s={},c=t.createContext(s);function r(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(c.Provider,{value:n},e.children)}},6447 [...]
\ No newline at end of file
diff --git a/assets/js/58433c70.b9a38a5c.js b/assets/js/58433c70.b9a38a5c.js
deleted file mode 100644
index 5ff8b2f..0000000
--- a/assets/js/58433c70.b9a38a5c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6552],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/58a28880.21683e0c.js b/assets/js/58a28880.21683e0c.js
deleted file mode 100644
index 66e5594..0000000
--- a/assets/js/58a28880.21683e0c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4618],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>p});var o=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/58a28880.a44535dd.js b/assets/js/58a28880.a44535dd.js
new file mode 100644
index 0000000..28daa48
--- /dev/null
+++ b/assets/js/58a28880.a44535dd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3497],{28453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>n});var i=o(96540);const a={},s=i.createContext(a);function r(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(s.Provider,{value:t},e.children)}},4974 [...]
\ No newline at end of file
diff --git a/assets/js/594f5a0c.b7977d17.js b/assets/js/594f5a0c.b7977d17.js
new file mode 100644
index 0000000..0ea1b51
--- /dev/null
+++ b/assets/js/594f5a0c.b7977d17.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5654],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var t=r(96540);const a={},s=t.createContext(a);function i(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(s.Provider,{value:n},e.children)}},3217 [...]
\ No newline at end of file
diff --git a/assets/js/594f5a0c.f4e36a0f.js b/assets/js/594f5a0c.f4e36a0f.js
deleted file mode 100644
index cce8aa5..0000000
--- a/assets/js/594f5a0c.f4e36a0f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2493],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/5addded8.bca69358.js b/assets/js/5addded8.bca69358.js
new file mode 100644
index 0000000..6a54857
--- /dev/null
+++ b/assets/js/5addded8.bca69358.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2708],{18458:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"ambari-design/ambari-architecture","title":"Ambari Architecture","description":"","source":"@site/docs/ambari-design/ambari-architecture.md","sourceDirName":"ambari-design","slug":"/ambari-design/ambari-architecture","permalink":"/docs/next/ambari [...]
\ No newline at end of file
diff --git a/assets/js/5addded8.ca481d1b.js b/assets/js/5addded8.ca481d1b.js
deleted file mode 100644
index ccbbacb..0000000
--- a/assets/js/5addded8.ca481d1b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2962],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>b});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/5ae315aa.8da8e383.js b/assets/js/5ae315aa.8da8e383.js
new file mode 100644
index 0000000..204b105
--- /dev/null
+++ b/assets/js/5ae315aa.8da8e383.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3089],{9426:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-plugin-contribution/step-by-step","title":"Step-by-step guide on adding a dashboard widget for a host.","description":"Create your own dashboard widget for hosts:","source":"@site/versioned_docs/version-2.7.6/ambari-plugin-contribution/step- [...]
\ No newline at end of file
diff --git a/assets/js/5ae315aa.c8c23000.js b/assets/js/5ae315aa.c8c23000.js
deleted file mode 100644
index fc2db66..0000000
--- a/assets/js/5ae315aa.c8c23000.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8984],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/5c7e3943.c9edf84f.js b/assets/js/5c7e3943.c9edf84f.js
deleted file mode 100644
index 5b8a440..0000000
--- a/assets/js/5c7e3943.c9edf84f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2210],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/5c7e3943.fc884abc.js b/assets/js/5c7e3943.fc884abc.js
new file mode 100644
index 0000000..9931a03
--- /dev/null
+++ b/assets/js/5c7e3943.fc884abc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9716],{28453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var t=r(96540);const a={},i=t.createContext(a);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),t.createElement(i.Provider,{value:n},e.children)}},5281 [...]
\ No newline at end of file
diff --git a/assets/js/5cfb2d3a.08f80830.js b/assets/js/5cfb2d3a.08f80830.js
deleted file mode 100644
index 190bad2..0000000
--- a/assets/js/5cfb2d3a.08f80830.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8306],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/5cfb2d3a.0df6105d.js b/assets/js/5cfb2d3a.0df6105d.js
new file mode 100644
index 0000000..eca99c7
--- /dev/null
+++ b/assets/js/5cfb2d3a.0df6105d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3230],{15934:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>l});const o=JSON.parse('{"id":"ambari-dev/code-review-guidelines","title":"Code Review Guidelines","description":"Please refer to How to Contribute for instructions how to submit a code review to Github.","source":"@site/versioned_docs/version-3.0.0/ambari-dev/code-review-guide [...]
\ No newline at end of file
diff --git a/assets/js/5e95c892.c74ce500.js b/assets/js/5e95c892.c74ce500.js
new file mode 100644
index 0000000..fe926a2
--- /dev/null
+++ b/assets/js/5e95c892.c74ce500.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9647],{18122:(e,s,r)=>{r.r(s),r.d(s,{default:()=>b});r(96540);var a=r(34164),t=r(81769),u=r(204),c=r(22831),i=r(51410),n=r(74848);function b(e){return(0,n.jsx)(t.e3,{className:(0,a.A)(u.G.wrapper.docsPages),children:(0,n.jsx)(i.A,{children:(0,c.v)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/assets/js/5ff8ceca.0c9270ac.js b/assets/js/5ff8ceca.0c9270ac.js
deleted file mode 100644
index b09f44d..0000000
--- a/assets/js/5ff8ceca.0c9270ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9471],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>u});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/5ff8ceca.306b5243.js b/assets/js/5ff8ceca.306b5243.js
new file mode 100644
index 0000000..d1d0425
--- /dev/null
+++ b/assets/js/5ff8ceca.306b5243.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7152],{28453:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>l});var s=n(96540);const i={},r=s.createContext(i);function t(e){const a=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(r.Provider,{value:a},e.children)}},7384 [...]
\ No newline at end of file
diff --git a/assets/js/60cbc5d5.a9ad6f96.js b/assets/js/60cbc5d5.a9ad6f96.js
new file mode 100644
index 0000000..2701a2d
--- /dev/null
+++ b/assets/js/60cbc5d5.a9ad6f96.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[667],{28453:(e,r,i)=>{i.d(r,{R:()=>a,x:()=>c});var n=i(96540);const s={},t=n.createContext(s);function a(e){const r=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(t.Provider,{value:r},e.children)}},51628 [...]
\ No newline at end of file
diff --git a/assets/js/60cbc5d5.b26bc9d4.js b/assets/js/60cbc5d5.b26bc9d4.js
deleted file mode 100644
index 6c8a2b6..0000000
--- a/assets/js/60cbc5d5.b26bc9d4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8597],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>u});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/61449d4d.04d89943.js b/assets/js/61449d4d.04d89943.js
new file mode 100644
index 0000000..9578904
--- /dev/null
+++ b/assets/js/61449d4d.04d89943.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8695],{28453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>o});var t=r(96540);const a={},i=t.createContext(a);function s(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),t.createElement(i.Provider,{value:n},e.children)}},4213 [...]
\ No newline at end of file
diff --git a/assets/js/61449d4d.2aa8d0d8.js b/assets/js/61449d4d.2aa8d0d8.js
deleted file mode 100644
index f1f929e..0000000
--- a/assets/js/61449d4d.2aa8d0d8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6317],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6346e45d.630a2507.js b/assets/js/6346e45d.630a2507.js
new file mode 100644
index 0000000..9247ccf
--- /dev/null
+++ b/assets/js/6346e45d.630a2507.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7008],{28453:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>c});var r=i(96540);const s={},d=r.createContext(s);function l(e){const n=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(d.Provider,{value:n},e.children)}},8700 [...]
\ No newline at end of file
diff --git a/assets/js/6346e45d.e67f1646.js b/assets/js/6346e45d.e67f1646.js
deleted file mode 100644
index 2372d8e..0000000
--- a/assets/js/6346e45d.e67f1646.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2146],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/637cad83.1efe0c65.js b/assets/js/637cad83.1efe0c65.js
new file mode 100644
index 0000000..3b670a7
--- /dev/null
+++ b/assets/js/637cad83.1efe0c65.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9388],{28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(96540);const a={},i=t.createContext(a);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(i.Provider,{value:n},e.children)}},3447 [...]
\ No newline at end of file
diff --git a/assets/js/637cad83.facf22d5.js b/assets/js/637cad83.facf22d5.js
deleted file mode 100644
index 9a3ace2..0000000
--- a/assets/js/637cad83.facf22d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9915],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>h});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/63e9343e.637d0bb3.js b/assets/js/63e9343e.637d0bb3.js
new file mode 100644
index 0000000..f80f7f6
--- /dev/null
+++ b/assets/js/63e9343e.637d0bb3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5705],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var r=s(96540);const t={},i=r.createContext(t);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(i.Provider,{value:n},e.children)}},2928 [...]
\ No newline at end of file
diff --git a/assets/js/63e9343e.fc417399.js b/assets/js/63e9343e.fc417399.js
deleted file mode 100644
index 412dc8f..0000000
--- a/assets/js/63e9343e.fc417399.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7803],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6453760d.2f0e46cc.js b/assets/js/6453760d.2f0e46cc.js
deleted file mode 100644
index e33488c..0000000
--- a/assets/js/6453760d.2f0e46cc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4796],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>d});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6453760d.7212212b.js b/assets/js/6453760d.7212212b.js
new file mode 100644
index 0000000..9173885
--- /dev/null
+++ b/assets/js/6453760d.7212212b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1514],{1757:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>r,toc:()=>u});const r=JSON.parse('{"id":"ambari-plugin-contribution/index","title":"Ambari Plugin Contributions","description":"These are independent extensions that are contributed to the Ambari codebase.","source":"@site/docs/ambari-plugin-contribution/index.md","sourceDirName":"ambari- [...]
\ No newline at end of file
diff --git a/assets/js/6471e0a0.4755fd83.js b/assets/js/6471e0a0.4755fd83.js
new file mode 100644
index 0000000..475abda
--- /dev/null
+++ b/assets/js/6471e0a0.4755fd83.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1709],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>l});var s=i(96540);const t={},a=s.createContext(t);function r(e){const n=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),s.createElement(a.Provider,{value:n},e.children)}},2857 [...]
\ No newline at end of file
diff --git a/assets/js/6471e0a0.b4c4ee39.js b/assets/js/6471e0a0.b4c4ee39.js
deleted file mode 100644
index e252add..0000000
--- a/assets/js/6471e0a0.b4c4ee39.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2667],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>p});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/65d135b1.0404f51a.js b/assets/js/65d135b1.0404f51a.js
deleted file mode 100644
index 58a4423..0000000
--- a/assets/js/65d135b1.0404f51a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2130],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>u});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/65d135b1.e247c4bd.js b/assets/js/65d135b1.e247c4bd.js
new file mode 100644
index 0000000..a6b4761
--- /dev/null
+++ b/assets/js/65d135b1.e247c4bd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5110],{16240:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>o});const s=JSON.parse('{"id":"ambari-design/metrics/ambari-metrics-whitelisting","title":"Ambari Metrics - Whitelisting","description":"In large clusters (500+ nodes), sometimes there are performance issues seen in AMS aggregations. In the ambari-metrics-collector log file, we [...]
\ No newline at end of file
diff --git a/assets/js/6932126d.2c1bb836.js b/assets/js/6932126d.2c1bb836.js
deleted file mode 100644
index 4a8f363..0000000
--- a/assets/js/6932126d.2c1bb836.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3051],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6932126d.fdcf39b7.js b/assets/js/6932126d.fdcf39b7.js
new file mode 100644
index 0000000..ce8a47d
--- /dev/null
+++ b/assets/js/6932126d.fdcf39b7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4868],{28453:(e,r,n)=>{n.d(r,{R:()=>a,x:()=>s});var i=n(96540);const o={},t=i.createContext(o);function a(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),i.createElement(t.Provider,{value:r},e.children)}},3951 [...]
\ No newline at end of file
diff --git a/assets/js/69d55f13.332c97b1.js b/assets/js/69d55f13.332c97b1.js
new file mode 100644
index 0000000..ee1b0fa
--- /dev/null
+++ b/assets/js/69d55f13.332c97b1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6988],{28453:(e,r,i)=>{i.d(r,{R:()=>a,x:()=>d});var s=i(96540);const n={},t=s.createContext(n);function a(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(t.Provider,{value:r},e.children)}},5330 [...]
\ No newline at end of file
diff --git a/assets/js/69d55f13.ffb82ade.js b/assets/js/69d55f13.ffb82ade.js
deleted file mode 100644
index aeebeab..0000000
--- a/assets/js/69d55f13.ffb82ade.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2161],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/69d80893.80869400.js b/assets/js/69d80893.80869400.js
deleted file mode 100644
index 309cc34..0000000
--- a/assets/js/69d80893.80869400.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6575],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var i=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/69d80893.8c6b49b6.js b/assets/js/69d80893.8c6b49b6.js
new file mode 100644
index 0000000..4e2e395
--- /dev/null
+++ b/assets/js/69d80893.8c6b49b6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1460],{28453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var r=i(96540);const t={},s=r.createContext(t);function o(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:n},e.children)}},7433 [...]
\ No newline at end of file
diff --git a/assets/js/6ae9fc02.7a1cbd59.js b/assets/js/6ae9fc02.7a1cbd59.js
new file mode 100644
index 0000000..558f053
--- /dev/null
+++ b/assets/js/6ae9fc02.7a1cbd59.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[453],{3106:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"ambari-dev/unit-test-reports","title":"Unit Test Reports","description":"Branch | Unit Test Report URL","source":"@site/versioned_docs/version-2.7.5/ambari-dev/unit-test-reports.md","sourceDirName":"ambari-dev","slug":"/ambari-dev/unit-test-reports" [...]
\ No newline at end of file
diff --git a/assets/js/6ae9fc02.ec060e54.js b/assets/js/6ae9fc02.ec060e54.js
deleted file mode 100644
index ec1ca3a..0000000
--- a/assets/js/6ae9fc02.ec060e54.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8171],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6bcfd6c2.45281f90.js b/assets/js/6bcfd6c2.45281f90.js
deleted file mode 100644
index 8382a08..0000000
--- a/assets/js/6bcfd6c2.45281f90.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3515],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6bcfd6c2.6d688b74.js b/assets/js/6bcfd6c2.6d688b74.js
new file mode 100644
index 0000000..a5dd611
--- /dev/null
+++ b/assets/js/6bcfd6c2.6d688b74.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7037],{28453:(e,s,i)=>{i.d(s,{R:()=>o,x:()=>l});var t=i(96540);const n={},r=t.createContext(n);function o(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(r.Provider,{value:s},e.children)}},4012 [...]
\ No newline at end of file
diff --git a/assets/js/6ce6819d.ab7d761e.js b/assets/js/6ce6819d.ab7d761e.js
new file mode 100644
index 0000000..f713fe0
--- /dev/null
+++ b/assets/js/6ce6819d.ab7d761e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5389],{5005:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"ambari-design/metrics/upgrading-ambari-metrics-system","title":"Upgrading Ambari Metrics System","description":"Upgrading from Ambari 2.0 or 2.0.1 to 2.1","source":"@site/versioned_docs/version-2.7.6/ambari-design/metrics/upgrading-ambari-metrics-s [...]
\ No newline at end of file
diff --git a/assets/js/6ce6819d.e5ed23dc.js b/assets/js/6ce6819d.e5ed23dc.js
deleted file mode 100644
index f675f8a..0000000
--- a/assets/js/6ce6819d.e5ed23dc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4056],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>u});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6d365731.48b16d49.js b/assets/js/6d365731.48b16d49.js
new file mode 100644
index 0000000..d419b1c
--- /dev/null
+++ b/assets/js/6d365731.48b16d49.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2850],{28453:(e,i,r)=>{r.d(i,{R:()=>d,x:()=>a});var s=r(96540);const n={},t=s.createContext(n);function d(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(t.Provider,{value:i},e.children)}},2924 [...]
\ No newline at end of file
diff --git a/assets/js/6d365731.c20c6148.js b/assets/js/6d365731.c20c6148.js
deleted file mode 100644
index 7b880d3..0000000
--- a/assets/js/6d365731.c20c6148.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7007],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6ff4e327.cab416cf.js b/assets/js/6ff4e327.cab416cf.js
deleted file mode 100644
index ea29748..0000000
--- a/assets/js/6ff4e327.cab416cf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4388],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/6ff4e327.dc458af8.js b/assets/js/6ff4e327.dc458af8.js
new file mode 100644
index 0000000..0e930cc
--- /dev/null
+++ b/assets/js/6ff4e327.dc458af8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9784],{28453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>d});var t=i(96540);const s={},c=t.createContext(s);function r(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(c.Provider,{value:n},e.children)}},5825 [...]
\ No newline at end of file
diff --git a/assets/js/70ddd16d.2cb55edd.js b/assets/js/70ddd16d.2cb55edd.js
deleted file mode 100644
index 8febfa0..0000000
--- a/assets/js/70ddd16d.2cb55edd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1716],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/70ddd16d.4019e471.js b/assets/js/70ddd16d.4019e471.js
new file mode 100644
index 0000000..d43ea51
--- /dev/null
+++ b/assets/js/70ddd16d.4019e471.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2321],{24173:(e,r,s)=>{s.d(r,{A:()=>i});const i=s.p+"assets/images/connect-phoenix-9e9ee4da01440af51806ce2aa4372809.png"},28453:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>c});var i=s(96540);const n={},t=i.createContext(n);function d(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e [...]
\ No newline at end of file
diff --git a/assets/js/73622f37.5afb2953.js b/assets/js/73622f37.5afb2953.js
deleted file mode 100644
index 8c6ca64..0000000
--- a/assets/js/73622f37.5afb2953.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5968],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/73622f37.799e659a.js b/assets/js/73622f37.799e659a.js
new file mode 100644
index 0000000..700fb97
--- /dev/null
+++ b/assets/js/73622f37.799e659a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5027],{28453:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>a});var i=s(96540);const r={},t=i.createContext(r);function c(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(t.Provider,{value:n},e.children)}},9252 [...]
\ No newline at end of file
diff --git a/assets/js/7384b1db.5384bb8a.js b/assets/js/7384b1db.5384bb8a.js
new file mode 100644
index 0000000..26b88f4
--- /dev/null
+++ b/assets/js/7384b1db.5384bb8a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[900],{28453:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>o});var r=n(96540);const i={},s=r.createContext(i);function t(e){const a=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(s.Provider,{value:a},e.children)}},76156 [...]
\ No newline at end of file
diff --git a/assets/js/7384b1db.d6c7eadd.js b/assets/js/7384b1db.d6c7eadd.js
deleted file mode 100644
index 2fdba01..0000000
--- a/assets/js/7384b1db.d6c7eadd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6895],{3905:(e,a,t)=>{t.d(a,{Zo:()=>m,kt:()=>u});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/74f4fc73.082e07c3.js b/assets/js/74f4fc73.082e07c3.js
deleted file mode 100644
index a029522..0000000
--- a/assets/js/74f4fc73.082e07c3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5961],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var i=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/74f4fc73.8ddb9160.js b/assets/js/74f4fc73.8ddb9160.js
new file mode 100644
index 0000000..dd70fb1
--- /dev/null
+++ b/assets/js/74f4fc73.8ddb9160.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1547],{15242:(e,i,s)=>{s.d(i,{A:()=>n});const n=s.p+"assets/images/view-components-7a997189cc9948e0d766b21d9211c5d5.jpg"},28453:(e,i,s)=>{s.d(i,{R:()=>t,x:()=>o});var n=s(96540);const r={},a=n.createContext(r);function t(e){const i=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e [...]
\ No newline at end of file
diff --git a/assets/js/754bbc00.1ca34720.js b/assets/js/754bbc00.1ca34720.js
new file mode 100644
index 0000000..46aa781
--- /dev/null
+++ b/assets/js/754bbc00.1ca34720.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1860],{18213:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/metrics-metadata-743e7d6996525df1e402c9717c67a883.png"},24519:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/hosts-metadata-ae5251d1eadb22f289b0f95b0a308ff1.png"},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>c});var i=n(96540);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"fun [...]
\ No newline at end of file
diff --git a/assets/js/754bbc00.82d6eec1.js b/assets/js/754bbc00.82d6eec1.js
deleted file mode 100644
index 6f2586a..0000000
--- a/assets/js/754bbc00.82d6eec1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[307],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/7700b0e1.2698aef6.js b/assets/js/7700b0e1.2698aef6.js
new file mode 100644
index 0000000..56c2519
--- /dev/null
+++ b/assets/js/7700b0e1.2698aef6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2245],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>o});var i=n(96540);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:t},e.children)}},2899 [...]
\ No newline at end of file
diff --git a/assets/js/7700b0e1.e5c10b27.js b/assets/js/7700b0e1.e5c10b27.js
deleted file mode 100644
index 5a0acce..0000000
--- a/assets/js/7700b0e1.e5c10b27.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2629],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>k});var i=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/780a82de.d7163b13.js b/assets/js/780a82de.d7163b13.js
new file mode 100644
index 0000000..f445715
--- /dev/null
+++ b/assets/js/780a82de.d7163b13.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6748],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>a});var n=r(96540);const o={},i=n.createContext(o);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(i.Provider,{value:t},e.children)}},3138 [...]
\ No newline at end of file
diff --git a/assets/js/780a82de.f83bf85f.js b/assets/js/780a82de.f83bf85f.js
deleted file mode 100644
index 1352f92..0000000
--- a/assets/js/780a82de.f83bf85f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5607],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7906c6bd.9bb9de26.js b/assets/js/7906c6bd.9bb9de26.js
deleted file mode 100644
index e5ea131..0000000
--- a/assets/js/7906c6bd.9bb9de26.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[385],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return [...]
\ No newline at end of file
diff --git a/assets/js/7906c6bd.c6af1467.js b/assets/js/7906c6bd.c6af1467.js
new file mode 100644
index 0000000..0e60d06
--- /dev/null
+++ b/assets/js/7906c6bd.c6af1467.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8612],{28453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>a});var t=i(96540);const r={},s=t.createContext(r);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(s.Provider,{value:n},e.children)}},7368 [...]
\ No newline at end of file
diff --git a/assets/js/796c7db7.a6d79a63.js b/assets/js/796c7db7.a6d79a63.js
new file mode 100644
index 0000000..8cfd5ae
--- /dev/null
+++ b/assets/js/796c7db7.a6d79a63.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6258],{12090:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ambari-design/stack-and-services/custom-services","title":"Custom Services","description":"There are many aspects to creating custom services.  At its most basic a service must include its metainfo.xml and command script.  It also must be packaged [...]
\ No newline at end of file
diff --git a/assets/js/796c7db7.baea85c7.js b/assets/js/796c7db7.baea85c7.js
deleted file mode 100644
index 0547832..0000000
--- a/assets/js/796c7db7.baea85c7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5066],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>u});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7ad73ba9.7ff64b59.js b/assets/js/7ad73ba9.7ff64b59.js
deleted file mode 100644
index 6c761a3..0000000
--- a/assets/js/7ad73ba9.7ff64b59.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7349],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7ad73ba9.dfab6484.js b/assets/js/7ad73ba9.dfab6484.js
new file mode 100644
index 0000000..c1e8fa2
--- /dev/null
+++ b/assets/js/7ad73ba9.dfab6484.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9333],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>c});var s=t(96540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}},5852 [...]
\ No newline at end of file
diff --git a/assets/js/7b2e8407.661396ea.js b/assets/js/7b2e8407.661396ea.js
deleted file mode 100644
index bff9094..0000000
--- a/assets/js/7b2e8407.661396ea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[554],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>m});var i=t(67294);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return [...]
\ No newline at end of file
diff --git a/assets/js/7b2e8407.9ddfdfd5.js b/assets/js/7b2e8407.9ddfdfd5.js
new file mode 100644
index 0000000..804786d
--- /dev/null
+++ b/assets/js/7b2e8407.9ddfdfd5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5044],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},5521 [...]
\ No newline at end of file
diff --git a/assets/js/7bac38f2.12730c4d.js b/assets/js/7bac38f2.12730c4d.js
deleted file mode 100644
index 8e9cb30..0000000
--- a/assets/js/7bac38f2.12730c4d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4343],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>h});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7bac38f2.dffc9df5.js b/assets/js/7bac38f2.dffc9df5.js
new file mode 100644
index 0000000..5081f1c
--- /dev/null
+++ b/assets/js/7bac38f2.dffc9df5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1713],{28453:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>c});var i=n(96540);const r={},t=i.createContext(r);function a(e){const s=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(t.Provider,{value:s},e.children)}},7850 [...]
\ No newline at end of file
diff --git a/assets/js/7bd2e184.2e833d17.js b/assets/js/7bd2e184.2e833d17.js
new file mode 100644
index 0000000..22e0332
--- /dev/null
+++ b/assets/js/7bd2e184.2e833d17.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5916],{28453:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>o});var r=n(96540);const i={},s=r.createContext(i);function t(e){const a=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(s.Provider,{value:a},e.children)}},3686 [...]
\ No newline at end of file
diff --git a/assets/js/7bd2e184.8c3db985.js b/assets/js/7bd2e184.8c3db985.js
deleted file mode 100644
index af6e983..0000000
--- a/assets/js/7bd2e184.8c3db985.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2600],{3905:(e,a,t)=>{t.d(a,{Zo:()=>m,kt:()=>u});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7c8916e7.da632ed6.js b/assets/js/7c8916e7.da632ed6.js
deleted file mode 100644
index 563df9b..0000000
--- a/assets/js/7c8916e7.da632ed6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2867],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7c8916e7.fc434e37.js b/assets/js/7c8916e7.fc434e37.js
new file mode 100644
index 0000000..778548e
--- /dev/null
+++ b/assets/js/7c8916e7.fc434e37.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9909],{28453:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>c});var i=s(96540);const r={},t=i.createContext(r);function a(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(t.Provider,{value:n},e.children)}},3693 [...]
\ No newline at end of file
diff --git a/assets/js/7c9b6a28.863e9047.js b/assets/js/7c9b6a28.863e9047.js
new file mode 100644
index 0000000..b877c4a
--- /dev/null
+++ b/assets/js/7c9b6a28.863e9047.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1921],{28453:(e,s,i)=>{i.d(s,{R:()=>o,x:()=>l});var t=i(96540);const n={},r=t.createContext(n);function o(e){const s=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),t.createElement(r.Provider,{value:s},e.children)}},4759 [...]
\ No newline at end of file
diff --git a/assets/js/7c9b6a28.89500454.js b/assets/js/7c9b6a28.89500454.js
deleted file mode 100644
index 1ef5d4f..0000000
--- a/assets/js/7c9b6a28.89500454.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9975],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7cc2e9a9.1f706810.js b/assets/js/7cc2e9a9.1f706810.js
new file mode 100644
index 0000000..418a3a0
--- /dev/null
+++ b/assets/js/7cc2e9a9.1f706810.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8150],{6616:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-dev/apache-ambari-jira","title":"Apache Ambari JIRA","description":"The following page describes the Apache Ambari JIRA components for tasks, bugs and improvements across the core project + contributions.","source":"@site/versioned_docs/vers [...]
\ No newline at end of file
diff --git a/assets/js/7cc2e9a9.ccc300c3.js b/assets/js/7cc2e9a9.ccc300c3.js
deleted file mode 100644
index 094a7ac..0000000
--- a/assets/js/7cc2e9a9.ccc300c3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3536],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>u});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7d1139b0.662a7854.js b/assets/js/7d1139b0.662a7854.js
new file mode 100644
index 0000000..e111dc0
--- /dev/null
+++ b/assets/js/7d1139b0.662a7854.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8826],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(96540);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}},2862 [...]
\ No newline at end of file
diff --git a/assets/js/7d1139b0.a306c6fe.js b/assets/js/7d1139b0.a306c6fe.js
deleted file mode 100644
index 4313373..0000000
--- a/assets/js/7d1139b0.a306c6fe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7455],{3905:(t,e,a)=>{a.d(e,{Zo:()=>c,kt:()=>d});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7d9efb96.5cd1b8cb.js b/assets/js/7d9efb96.5cd1b8cb.js
new file mode 100644
index 0000000..4ef7fa8
--- /dev/null
+++ b/assets/js/7d9efb96.5cd1b8cb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4269],{12255:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"ambari-design/stack-and-services/faq","title":"FAQ","description":"[STACK]/[SERVICE]/metainfo.xml","source":"@site/versioned_docs/version-3.0.0/ambari-design/stack-and-services/faq.md","sourceDirName":"ambari-design/stack-and-services","slug":"/am [...]
\ No newline at end of file
diff --git a/assets/js/7d9efb96.76181414.js b/assets/js/7d9efb96.76181414.js
deleted file mode 100644
index 48499a3..0000000
--- a/assets/js/7d9efb96.76181414.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7393],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7e5d7ed4.58f0fecf.js b/assets/js/7e5d7ed4.58f0fecf.js
deleted file mode 100644
index 1245211..0000000
--- a/assets/js/7e5d7ed4.58f0fecf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8752],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7e5d7ed4.d6ca1474.js b/assets/js/7e5d7ed4.d6ca1474.js
new file mode 100644
index 0000000..7ab471b
--- /dev/null
+++ b/assets/js/7e5d7ed4.d6ca1474.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3064],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>l});var i=r(96540);const s={},t=i.createContext(s);function a(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(t.Provider,{value:n},e.children)}},3179 [...]
\ No newline at end of file
diff --git a/assets/js/7e731d09.aa9f063d.js b/assets/js/7e731d09.aa9f063d.js
new file mode 100644
index 0000000..840041b
--- /dev/null
+++ b/assets/js/7e731d09.aa9f063d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8235],{1844:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>t});const r=JSON.parse('{"id":"ambari-design/kerberos/kerberos_service","title":"The Kerberos Service","description":"\x3c!---","source":"@site/versioned_docs/version-2.7.5/ambari-design/kerberos/kerberos_service.md","sourceDirName":"ambari-design/kerberos","slug":"/ambari-desig [...]
\ No newline at end of file
diff --git a/assets/js/7e731d09.c43e50a1.js b/assets/js/7e731d09.c43e50a1.js
deleted file mode 100644
index 17d1e1d..0000000
--- a/assets/js/7e731d09.c43e50a1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9779],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/7ea47c5c.3da595bc.js b/assets/js/7ea47c5c.3da595bc.js
new file mode 100644
index 0000000..9071bd5
--- /dev/null
+++ b/assets/js/7ea47c5c.3da595bc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3762],{28453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>l});var i=r(96540);const s={},a=i.createContext(s);function t(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(a.Provider,{value:n},e.children)}},5930 [...]
\ No newline at end of file
diff --git a/assets/js/7ea47c5c.b482e0e3.js b/assets/js/7ea47c5c.b482e0e3.js
deleted file mode 100644
index 75b4b8c..0000000
--- a/assets/js/7ea47c5c.b482e0e3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3522],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/80303d80.76be649b.js b/assets/js/80303d80.76be649b.js
deleted file mode 100644
index 77e443c..0000000
--- a/assets/js/80303d80.76be649b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4433],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/80303d80.9a9633e9.js b/assets/js/80303d80.9a9633e9.js
new file mode 100644
index 0000000..7b3ed99
--- /dev/null
+++ b/assets/js/80303d80.9a9633e9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[243],{17473:(e,t,n)=>{n.d(t,{A:()=>y});var r=n(96540),i=n(34164),o=n(30102),s=n(56289),a=n(40797);const c=["zero","one","two","few","many","other"];function l(e){return c.filter((t=>e.includes(t)))}const u={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function d(){const{i18n:{currentLocale:e}}=(0,a.A)();return(0,r.useMemo)((()=>{try{return function(e){const t=new Intl.Pl [...]
\ No newline at end of file
diff --git a/assets/js/81276074.37777730.js b/assets/js/81276074.37777730.js
new file mode 100644
index 0000000..764a913
--- /dev/null
+++ b/assets/js/81276074.37777730.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4656],{6556:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-dev/development-in-docker","title":"Development in Docker","description":"Overview","source":"@site/versioned_docs/version-2.7.5/ambari-dev/development-in-docker.md","sourceDirName":"ambari-dev","slug":"/ambari-dev/development-in-docker","pe [...]
\ No newline at end of file
diff --git a/assets/js/81276074.9069e3b4.js b/assets/js/81276074.9069e3b4.js
deleted file mode 100644
index fa69186..0000000
--- a/assets/js/81276074.9069e3b4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2817],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/84bd98c7.103857b9.js b/assets/js/84bd98c7.103857b9.js
deleted file mode 100644
index ba9f188..0000000
--- a/assets/js/84bd98c7.103857b9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3618],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>c});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/84bd98c7.8e064aa7.js b/assets/js/84bd98c7.8e064aa7.js
new file mode 100644
index 0000000..6a7a7a8
--- /dev/null
+++ b/assets/js/84bd98c7.8e064aa7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7984],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var r=s(96540);const t={},i=r.createContext(t);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(i.Provider,{value:n},e.children)}},3569 [...]
\ No newline at end of file
diff --git a/assets/js/84d59e0d.4410dcbb.js b/assets/js/84d59e0d.4410dcbb.js
deleted file mode 100644
index 30f95df..0000000
--- a/assets/js/84d59e0d.4410dcbb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1306],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/84d59e0d.f4add8ac.js b/assets/js/84d59e0d.f4add8ac.js
new file mode 100644
index 0000000..740a6e7
--- /dev/null
+++ b/assets/js/84d59e0d.f4add8ac.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5388],{12854:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"introduction","title":"Introduction","description":"The Apache Ambari project is aimed at making Hadoop management simpler by developing software for provisioning, managing, and monitoring Apache Hadoop clusters. Ambari provides an intuitive, easy [...]
\ No newline at end of file
diff --git a/assets/js/86878fdb.5e18dbd3.js b/assets/js/86878fdb.5e18dbd3.js
new file mode 100644
index 0000000..40cc02c
--- /dev/null
+++ b/assets/js/86878fdb.5e18dbd3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5782],{28453:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>a});var r=i(96540);const s={},n=r.createContext(s);function c(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(n.Provider,{value:t},e.children)}},3905 [...]
\ No newline at end of file
diff --git a/assets/js/86878fdb.68334801.js b/assets/js/86878fdb.68334801.js
deleted file mode 100644
index 870b956..0000000
--- a/assets/js/86878fdb.68334801.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7809],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/87fa40f4.39f9b158.js b/assets/js/87fa40f4.39f9b158.js
deleted file mode 100644
index 82f32e4..0000000
--- a/assets/js/87fa40f4.39f9b158.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3490],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>h});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/87fa40f4.e8f380a5.js b/assets/js/87fa40f4.e8f380a5.js
new file mode 100644
index 0000000..2e17bdb
--- /dev/null
+++ b/assets/js/87fa40f4.e8f380a5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9685],{28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(96540);const a={},i=t.createContext(a);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(i.Provider,{value:n},e.children)}},3447 [...]
\ No newline at end of file
diff --git a/assets/js/87fccbb2.548a22ba.js b/assets/js/87fccbb2.548a22ba.js
deleted file mode 100644
index 1a764d1..0000000
--- a/assets/js/87fccbb2.548a22ba.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[61],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return  [...]
\ No newline at end of file
diff --git a/assets/js/87fccbb2.c2149394.js b/assets/js/87fccbb2.c2149394.js
new file mode 100644
index 0000000..3e2383b
--- /dev/null
+++ b/assets/js/87fccbb2.c2149394.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6046],{5274:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/metrics-metadata-743e7d6996525df1e402c9717c67a883.png"},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>c});var i=n(96540);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e [...]
\ No newline at end of file
diff --git a/assets/js/88b112cd.1c76095f.js b/assets/js/88b112cd.1c76095f.js
new file mode 100644
index 0000000..4490397
--- /dev/null
+++ b/assets/js/88b112cd.1c76095f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4632],{12987:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"ambari-design/metrics/upgrading-ambari-metrics-system","title":"Upgrading Ambari Metrics System","description":"Upgrading from Ambari 2.0 or 2.0.1 to 2.1","source":"@site/versioned_docs/version-2.7.5/ambari-design/metrics/upgrading-ambari-metrics- [...]
\ No newline at end of file
diff --git a/assets/js/88b112cd.e781755f.js b/assets/js/88b112cd.e781755f.js
deleted file mode 100644
index 6833fee..0000000
--- a/assets/js/88b112cd.e781755f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2183],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>u});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8b414528.205a0123.js b/assets/js/8b414528.205a0123.js
deleted file mode 100644
index fb251c6..0000000
--- a/assets/js/8b414528.205a0123.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3826],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8b414528.8cc08db4.js b/assets/js/8b414528.8cc08db4.js
new file mode 100644
index 0000000..4286423
--- /dev/null
+++ b/assets/js/8b414528.8cc08db4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2971],{28453:(e,t,a)=>{a.d(t,{R:()=>o,x:()=>i});var s=a(96540);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(n.Provider,{value:t},e.children)}},7197 [...]
\ No newline at end of file
diff --git a/assets/js/8b471e37.929437cc.js b/assets/js/8b471e37.929437cc.js
new file mode 100644
index 0000000..ccb85c6
--- /dev/null
+++ b/assets/js/8b471e37.929437cc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6930],{28453:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>o});var r=n(96540);const i={},s=r.createContext(i);function t(e){const a=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(s.Provider,{value:a},e.children)}},8981 [...]
\ No newline at end of file
diff --git a/assets/js/8b471e37.f3d8b559.js b/assets/js/8b471e37.f3d8b559.js
deleted file mode 100644
index e8a662b..0000000
--- a/assets/js/8b471e37.f3d8b559.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2742],{3905:(e,a,t)=>{t.d(a,{Zo:()=>m,kt:()=>u});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8bad6b17.5e5adf03.js b/assets/js/8bad6b17.5e5adf03.js
new file mode 100644
index 0000000..d76820e
--- /dev/null
+++ b/assets/js/8bad6b17.5e5adf03.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6334],{28453:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>a});var i=s(96540);const n={},r=i.createContext(n);function c(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(r.Provider,{value:t},e.children)}},4203 [...]
\ No newline at end of file
diff --git a/assets/js/8bad6b17.dc098203.js b/assets/js/8bad6b17.dc098203.js
deleted file mode 100644
index 2f8f75e..0000000
--- a/assets/js/8bad6b17.dc098203.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8680],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8bbb41cc.646a16ed.js b/assets/js/8bbb41cc.646a16ed.js
new file mode 100644
index 0000000..8c0197b
--- /dev/null
+++ b/assets/js/8bbb41cc.646a16ed.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4986],{2005:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"ambari-alerts","title":"Ambari Alerts","description":"Help page for Alerts defined in Ambari.","source":"@site/docs/ambari-alerts.md","sourceDirName":".","slug":"/ambari-alerts","permalink":"/docs/next/ambari-alerts","draft":false,"unlisted":false, [...]
\ No newline at end of file
diff --git a/assets/js/8bbb41cc.c24523dc.js b/assets/js/8bbb41cc.c24523dc.js
deleted file mode 100644
index d2c2de3..0000000
--- a/assets/js/8bbb41cc.c24523dc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5203],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8cb935d3.3656917c.js b/assets/js/8cb935d3.3656917c.js
deleted file mode 100644
index a9692c5..0000000
--- a/assets/js/8cb935d3.3656917c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8307],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8cb935d3.5edd363b.js b/assets/js/8cb935d3.5edd363b.js
new file mode 100644
index 0000000..69b6019
--- /dev/null
+++ b/assets/js/8cb935d3.5edd363b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3996],{2247:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"ambari-dev/development-process-for-new-major-features","title":"Development Process for New Major Features","description":"Goals","source":"@site/versioned_docs/version-2.7.6/ambari-dev/development-process-for-new-major-features.md","sourceDirName" [...]
\ No newline at end of file
diff --git a/assets/js/8d3782c6.3923e43c.js b/assets/js/8d3782c6.3923e43c.js
new file mode 100644
index 0000000..a6c08b3
--- /dev/null
+++ b/assets/js/8d3782c6.3923e43c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[32],{15949:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>a,contentTitle:()=>l,default:()=>c,frontMatter:()=>o,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"ambari-design/metrics/troubleshooting","title":"Troubleshooting","description":"Cleaning up Ambari Metrics System Data","source":"@site/versioned_docs/version-3.0.0/ambari-design/metrics/troubleshooting.md","sourceDirName":"ambari-design/metrics","s [...]
\ No newline at end of file
diff --git a/assets/js/8d3782c6.c3befd4f.js b/assets/js/8d3782c6.c3befd4f.js
deleted file mode 100644
index 6256c07..0000000
--- a/assets/js/8d3782c6.c3befd4f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1950],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8dcc76d4.11d36cac.js b/assets/js/8dcc76d4.11d36cac.js
deleted file mode 100644
index 2ac8742..0000000
--- a/assets/js/8dcc76d4.11d36cac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7615],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>u});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/8dcc76d4.b240b381.js b/assets/js/8dcc76d4.b240b381.js
new file mode 100644
index 0000000..336a9e7
--- /dev/null
+++ b/assets/js/8dcc76d4.b240b381.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6182],{18663:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"ambari-design/metrics/upgrading-ambari-metrics-system","title":"Upgrading Ambari Metrics System","description":"Upgrading from Ambari 2.0 or 2.0.1 to 2.1","source":"@site/versioned_docs/version-3.0.0/ambari-design/metrics/upgrading-ambari-metrics- [...]
\ No newline at end of file
diff --git a/assets/js/8ffb6cdf.71691f66.js b/assets/js/8ffb6cdf.71691f66.js
new file mode 100644
index 0000000..8b984b9
--- /dev/null
+++ b/assets/js/8ffb6cdf.71691f66.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1002],{17484:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/pull-request-11e69b4f41b113947410baee635d365a.png"},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(96540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.co [...]
\ No newline at end of file
diff --git a/assets/js/8ffb6cdf.7fb66378.js b/assets/js/8ffb6cdf.7fb66378.js
deleted file mode 100644
index 58abd42..0000000
--- a/assets/js/8ffb6cdf.7fb66378.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8605],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/935f2afb.1ce7704b.js b/assets/js/935f2afb.1ce7704b.js
deleted file mode 100644
index da29097..0000000
--- a/assets/js/935f2afb.1ce7704b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/next/introduction","docId":"introduction"},{"type":"category","label":"Quick Start","collapsible":true,"collapsed":false,"i [...]
\ No newline at end of file
diff --git a/assets/js/93e5a821.4d6d1a2a.js b/assets/js/93e5a821.4d6d1a2a.js
deleted file mode 100644
index e13b641..0000000
--- a/assets/js/93e5a821.4d6d1a2a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1867],{3905:(e,a,n)=>{n.d(a,{Zo:()=>p,kt:()=>d});var t=n(67294);function i(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function r(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}retur [...]
\ No newline at end of file
diff --git a/assets/js/93e5a821.66c81537.js b/assets/js/93e5a821.66c81537.js
new file mode 100644
index 0000000..74d3060
--- /dev/null
+++ b/assets/js/93e5a821.66c81537.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1285],{28453:(n,e,a)=>{a.d(e,{R:()=>r,x:()=>t});var s=a(96540);const i={},c=s.createContext(i);function r(n){const e=s.useContext(c);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function t(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),s.createElement(c.Provider,{value:e},n.children)}},3729 [...]
\ No newline at end of file
diff --git a/assets/js/93fb4f3e.98a7510b.js b/assets/js/93fb4f3e.98a7510b.js
deleted file mode 100644
index 9f93fb2..0000000
--- a/assets/js/93fb4f3e.98a7510b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3852],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/93fb4f3e.ded406ba.js b/assets/js/93fb4f3e.ded406ba.js
new file mode 100644
index 0000000..8bc12c4
--- /dev/null
+++ b/assets/js/93fb4f3e.ded406ba.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2565],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},4582 [...]
\ No newline at end of file
diff --git a/assets/js/94ed0bcd.4600fdaa.js b/assets/js/94ed0bcd.4600fdaa.js
deleted file mode 100644
index f571be4..0000000
--- a/assets/js/94ed0bcd.4600fdaa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6312],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/94ed0bcd.a75ba562.js b/assets/js/94ed0bcd.a75ba562.js
new file mode 100644
index 0000000..d2b4f22
--- /dev/null
+++ b/assets/js/94ed0bcd.a75ba562.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5268],{28453:(e,r,i)=>{i.d(r,{R:()=>a,x:()=>d});var s=i(96540);const n={},t=s.createContext(n);function a(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(t.Provider,{value:r},e.children)}},8642 [...]
\ No newline at end of file
diff --git a/assets/js/96c5ee86.0ee0ed08.js b/assets/js/96c5ee86.0ee0ed08.js
new file mode 100644
index 0000000..10afcc0
--- /dev/null
+++ b/assets/js/96c5ee86.0ee0ed08.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9242],{28453:(e,r,t)=>{t.d(r,{R:()=>a,x:()=>d});var s=t(96540);const i={},n=s.createContext(i);function a(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(n.Provider,{value:r},e.children)}},7751 [...]
\ No newline at end of file
diff --git a/assets/js/96c5ee86.c9db2c9e.js b/assets/js/96c5ee86.c9db2c9e.js
deleted file mode 100644
index 6e4aa84..0000000
--- a/assets/js/96c5ee86.c9db2c9e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6302],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>u});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/96e80402.90eadb99.js b/assets/js/96e80402.90eadb99.js
deleted file mode 100644
index 0b381c0..0000000
--- a/assets/js/96e80402.90eadb99.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3056],{3905:(e,n,a)=>{a.d(n,{Zo:()=>p,kt:()=>u});var r=a(67294);function i(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function t(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/96e80402.ed0e6944.js b/assets/js/96e80402.ed0e6944.js
new file mode 100644
index 0000000..fd1f041
--- /dev/null
+++ b/assets/js/96e80402.ed0e6944.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[239],{28453:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>c});var s=i(96540);const a={},r=s.createContext(a);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),s.createElement(r.Provider,{value:n},e.children)}},94680 [...]
\ No newline at end of file
diff --git a/assets/js/9740.254a2b7e.js b/assets/js/9740.254a2b7e.js
new file mode 100644
index 0000000..26add63
--- /dev/null
+++ b/assets/js/9740.254a2b7e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9740],{979:(t,e,i)=>{i.d(e,{D4:()=>n,IU:()=>c,Md:()=>r,Sn:()=>a,V6:()=>o,Wb:()=>d,e_:()=>h,p0:()=>l,yx:()=>u});var s=i(33384);function o(t,e,i){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.closePath()}function n(t,e,i,s){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(i.x,i.y),t.lineTo(s.x,s.y),t.closePath()}function a(t,e,i){t.fillStyle=i??"rgba(0,0,0,0)",t.fillRect(0,0,e.width,e.height)}function r [...]
\ No newline at end of file
diff --git a/assets/js/986aaff4.2f64b6ad.js b/assets/js/986aaff4.2f64b6ad.js
new file mode 100644
index 0000000..8b4f51d
--- /dev/null
+++ b/assets/js/986aaff4.2f64b6ad.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4092],{28453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const r={},s=i.createContext(r);function a(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:n},e.children)}},5796 [...]
\ No newline at end of file
diff --git a/assets/js/986aaff4.51c017b3.js b/assets/js/986aaff4.51c017b3.js
deleted file mode 100644
index 1a1b885..0000000
--- a/assets/js/986aaff4.51c017b3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3459],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/98916a22.25e6bea8.js b/assets/js/98916a22.25e6bea8.js
deleted file mode 100644
index cb9cf95..0000000
--- a/assets/js/98916a22.25e6bea8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[487],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/98916a22.32e09d03.js b/assets/js/98916a22.32e09d03.js
new file mode 100644
index 0000000..a2584bb
--- /dev/null
+++ b/assets/js/98916a22.32e09d03.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1829],{28453:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>c});var i=s(96540);const r={},t=i.createContext(r);function a(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(t.Provider,{value:n},e.children)}},6178 [...]
\ No newline at end of file
diff --git a/assets/js/9b84ad4a.12321ec1.js b/assets/js/9b84ad4a.12321ec1.js
deleted file mode 100644
index 4e72227..0000000
--- a/assets/js/9b84ad4a.12321ec1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4318],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/9b84ad4a.cc373555.js b/assets/js/9b84ad4a.cc373555.js
new file mode 100644
index 0000000..5ac12ce
--- /dev/null
+++ b/assets/js/9b84ad4a.cc373555.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4188],{18928:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-design/metrics/ambari-server-metrics","title":"Ambari Server Metrics","description":"Outline","source":"@site/versioned_docs/version-3.0.0/ambari-design/metrics/ambari-server-metrics.md","sourceDirName":"ambari-design/metrics","slug":"/amba [...]
\ No newline at end of file
diff --git a/assets/js/9ec71f90.0c61d1c5.js b/assets/js/9ec71f90.0c61d1c5.js
new file mode 100644
index 0000000..64c0302
--- /dev/null
+++ b/assets/js/9ec71f90.0c61d1c5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6877],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>o});var i=n(96540);const r={},s=i.createContext(r);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:t},e.children)}},9030 [...]
\ No newline at end of file
diff --git a/assets/js/9ec71f90.b9917b95.js b/assets/js/9ec71f90.b9917b95.js
deleted file mode 100644
index 4872209..0000000
--- a/assets/js/9ec71f90.b9917b95.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2948],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>k});var i=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/9f8f70b9.76cd532e.js b/assets/js/9f8f70b9.76cd532e.js
deleted file mode 100644
index ce9954a..0000000
--- a/assets/js/9f8f70b9.76cd532e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3573],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/9f8f70b9.e19325b5.js b/assets/js/9f8f70b9.e19325b5.js
new file mode 100644
index 0000000..0d94d6f
--- /dev/null
+++ b/assets/js/9f8f70b9.e19325b5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7442],{947:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>o});const r=JSON.parse('{"id":"ambari-design/metrics/configuration","title":"Configuration","description":"Metrics Collector","source":"@site/versioned_docs/version-3.0.0/ambari-design/metrics/configuration.mdx","sourceDirName":"ambari-design/metrics","slug":"/ambari-design/metri [...]
\ No newline at end of file
diff --git a/assets/js/9fc8c1ea.5b3f8ed5.js b/assets/js/9fc8c1ea.5b3f8ed5.js
new file mode 100644
index 0000000..26d6732
--- /dev/null
+++ b/assets/js/9fc8c1ea.5b3f8ed5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7805],{27024:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"ambari-design/stack-and-services/faq","title":"FAQ","description":"[STACK]/[SERVICE]/metainfo.xml","source":"@site/versioned_docs/version-2.7.6/ambari-design/stack-and-services/faq.md","sourceDirName":"ambari-design/stack-and-services","slug":"/am [...]
\ No newline at end of file
diff --git a/assets/js/9fc8c1ea.a30ce460.js b/assets/js/9fc8c1ea.a30ce460.js
deleted file mode 100644
index 1b21871..0000000
--- a/assets/js/9fc8c1ea.a30ce460.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3736],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a068866f.5abca7bc.js b/assets/js/a068866f.5abca7bc.js
deleted file mode 100644
index e6d1662..0000000
--- a/assets/js/a068866f.5abca7bc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8526],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(67294);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a068866f.d34c3fa3.js b/assets/js/a068866f.d34c3fa3.js
new file mode 100644
index 0000000..2083656
--- /dev/null
+++ b/assets/js/a068866f.d34c3fa3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8436],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>i});var t=s(96540);const r={},c=t.createContext(r);function o(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(c.Provider,{value:n},e.children)}},7762 [...]
\ No newline at end of file
diff --git a/assets/js/a0781153.079248ab.js b/assets/js/a0781153.079248ab.js
deleted file mode 100644
index 590bc6d..0000000
--- a/assets/js/a0781153.079248ab.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5546],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a0781153.fcace692.js b/assets/js/a0781153.fcace692.js
new file mode 100644
index 0000000..547091b
--- /dev/null
+++ b/assets/js/a0781153.fcace692.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5355],{28453:(e,i,r)=>{r.d(i,{R:()=>d,x:()=>a});var s=r(96540);const n={},t=s.createContext(n);function d(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(t.Provider,{value:i},e.children)}},4228 [...]
\ No newline at end of file
diff --git a/assets/js/a09c2993.26e100a4.js b/assets/js/a09c2993.26e100a4.js
deleted file mode 100644
index ccb9967..0000000
--- a/assets/js/a09c2993.26e100a4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4128],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a09c2993.4689c9e8.js b/assets/js/a09c2993.4689c9e8.js
new file mode 100644
index 0000000..3ea3969
--- /dev/null
+++ b/assets/js/a09c2993.4689c9e8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5899],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>o});var r=i(96540);const t={},s=r.createContext(t);function a(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(s.Provider,{value:n},e.children)}},4797 [...]
\ No newline at end of file
diff --git a/assets/js/a20e263e.2001f891.js b/assets/js/a20e263e.2001f891.js
new file mode 100644
index 0000000..de28f4b
--- /dev/null
+++ b/assets/js/a20e263e.2001f891.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[55],{28453:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>l});var s=n(96540);const i={},r=s.createContext(i);function t(e){const a=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function l(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(r.Provider,{value:a},e.children)}},72131: [...]
\ No newline at end of file
diff --git a/assets/js/a20e263e.9f133fba.js b/assets/js/a20e263e.9f133fba.js
deleted file mode 100644
index cb0ae68..0000000
--- a/assets/js/a20e263e.9f133fba.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5029],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>u});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a27c0b79.690a69bc.js b/assets/js/a27c0b79.690a69bc.js
deleted file mode 100644
index b3010c9..0000000
--- a/assets/js/a27c0b79.690a69bc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4007],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>h});var o=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a27c0b79.86d13958.js b/assets/js/a27c0b79.86d13958.js
new file mode 100644
index 0000000..10af186
--- /dev/null
+++ b/assets/js/a27c0b79.86d13958.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2342],{2464:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"quick-start/environment-setup/docker-environment-setup","title":"Docker Environment Setup for Apache Ambari","description":"This guide helps you set up a Docker environment for Apache Ambari development and testing. Using Docker containers provides [...]
\ No newline at end of file
diff --git a/assets/js/a36c028a.9c062474.js b/assets/js/a36c028a.9c062474.js
new file mode 100644
index 0000000..62f0fea
--- /dev/null
+++ b/assets/js/a36c028a.9c062474.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[225],{28453:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>a});var i=s(96540);const n={},r=i.createContext(n);function c(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(r.Provider,{value:t},e.children)}},93703 [...]
\ No newline at end of file
diff --git a/assets/js/a36c028a.ed0ee11b.js b/assets/js/a36c028a.ed0ee11b.js
deleted file mode 100644
index eaf8cf1..0000000
--- a/assets/js/a36c028a.ed0ee11b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2706],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a50b88ef.891c78f0.js b/assets/js/a50b88ef.891c78f0.js
new file mode 100644
index 0000000..93a9630
--- /dev/null
+++ b/assets/js/a50b88ef.891c78f0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7146],{10455:(e,r,s)=>{s.r(r),s.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>p});const a=JSON.parse('{"id":"ambari-design/stack-and-services/stack-properties","title":"Stack Properties","description":"Similar to stack configurations, most properties are defined at the service level, however there are global properties which can be defined at the stack-v [...]
\ No newline at end of file
diff --git a/assets/js/a50b88ef.c39ef2b6.js b/assets/js/a50b88ef.c39ef2b6.js
deleted file mode 100644
index b6fa9cd..0000000
--- a/assets/js/a50b88ef.c39ef2b6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2601],{3905:(e,r,t)=>{t.d(r,{Zo:()=>l,kt:()=>d});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a5724d60.dabda76e.js b/assets/js/a5724d60.dabda76e.js
deleted file mode 100644
index 04a41f6..0000000
--- a/assets/js/a5724d60.dabda76e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[830],{28587:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"2.7.5","label":"2.7.5","banner":"unmaintained","badge":true,"noIndex":false,"className":"docs-version-2.7.5","isLast":false,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/2.7.5/introduction","docId":"introduction"},{"type":"category","label":"Quick Start","collapsible":true,"collapsed":false, [...]
\ No newline at end of file
diff --git a/assets/js/a58cc737.920a01ea.js b/assets/js/a58cc737.920a01ea.js
new file mode 100644
index 0000000..f40386a
--- /dev/null
+++ b/assets/js/a58cc737.920a01ea.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3454],{28453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>o});var r=t(96540);const i={},a=r.createContext(i);function s(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(a.Provider,{value:n},e.children)}},3457 [...]
\ No newline at end of file
diff --git a/assets/js/a58cc737.d9f38aa9.js b/assets/js/a58cc737.d9f38aa9.js
deleted file mode 100644
index 5341d4f..0000000
--- a/assets/js/a58cc737.d9f38aa9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6694],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>c});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a5a446cb.2b45663c.js b/assets/js/a5a446cb.2b45663c.js
deleted file mode 100644
index 6164e6d..0000000
--- a/assets/js/a5a446cb.2b45663c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7107],{3905:(e,a,t)=>{t.d(a,{Zo:()=>l,kt:()=>h});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a5a446cb.b2cb21da.js b/assets/js/a5a446cb.b2cb21da.js
new file mode 100644
index 0000000..7926052
--- /dev/null
+++ b/assets/js/a5a446cb.b2cb21da.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5883],{7502:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>l,frontMatter:()=>t,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"ambari-design/stack-and-services/how-to-define-stacks-and-services","title":"How-To Define Stacks and Services","description":"Services managed by Ambari are defined in its stacks folder .","source":"@site/versioned_docs/version-3.0.0/ambari-design [...]
\ No newline at end of file
diff --git a/assets/js/a6bb7bab.042a83c0.js b/assets/js/a6bb7bab.042a83c0.js
deleted file mode 100644
index 8cde8f3..0000000
--- a/assets/js/a6bb7bab.042a83c0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9934],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a6bb7bab.46971d29.js b/assets/js/a6bb7bab.46971d29.js
new file mode 100644
index 0000000..716a7f6
--- /dev/null
+++ b/assets/js/a6bb7bab.46971d29.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2880],{2027:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"ambari-design/alerts","title":"Alerts","description":"WEB and METRIC alert types include a connectiontimeout property on the alert definition (see below in AlertDefinition uri : connectiontimeout). This value is in seconds and defaults to 5.0. Use  [...]
\ No newline at end of file
diff --git a/assets/js/30b88879.7890457f.js b/assets/js/a7456010.6d0c34d2.js
similarity index 66%
rename from assets/js/30b88879.7890457f.js
rename to assets/js/a7456010.6d0c34d2.js
index 8a7cf4b..5de76f5 100644
--- a/assets/js/30b88879.7890457f.js
+++ b/assets/js/a7456010.6d0c34d2.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7998],{15745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1235],{88552:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/a7509ec7.c11f1531.js b/assets/js/a7509ec7.c11f1531.js
deleted file mode 100644
index c6de01a..0000000
--- a/assets/js/a7509ec7.c11f1531.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5432],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a7509ec7.d0a8e287.js b/assets/js/a7509ec7.d0a8e287.js
new file mode 100644
index 0000000..66fa158
--- /dev/null
+++ b/assets/js/a7509ec7.d0a8e287.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[424],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var t=r(96540);const a={},s=t.createContext(a);function i(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(s.Provider,{value:n},e.children)}},85666 [...]
\ No newline at end of file
diff --git a/assets/js/a7bd4aaa.0293e410.js b/assets/js/a7bd4aaa.0293e410.js
new file mode 100644
index 0000000..6924f18
--- /dev/null
+++ b/assets/js/a7bd4aaa.0293e410.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7098],{27419:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(96540);var r=s(81769);function t(n,e){return`docs-${n}-${e}`}var o=s(21858),i=s(22831),a=s(37220),c=s(74848);function u(n){const{version:e}=n;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(a.A,{version:e.version,tag:t(e.pluginId,e.version)}),(0,c.jsx)(r.be,{children:e.noIndex&&(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})} [...]
\ No newline at end of file
diff --git a/assets/js/a8a99800.4ffacb30.js b/assets/js/a8a99800.4ffacb30.js
deleted file mode 100644
index 16b02e3..0000000
--- a/assets/js/a8a99800.4ffacb30.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1044],{3905:(t,e,a)=>{a.d(e,{Zo:()=>c,kt:()=>d});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/a8a99800.661966e0.js b/assets/js/a8a99800.661966e0.js
new file mode 100644
index 0000000..6e9d87e
--- /dev/null
+++ b/assets/js/a8a99800.661966e0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3137],{11402:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/ambari-scom-arch-a7941b1b0b7288715e8f5d3bd4bf8f57.jpg"},12823:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/ambari-scom-10293ba44ce6c7360b538dedf43b6bcc.jpg"},22137:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"ambari-plugin-contri [...]
\ No newline at end of file
diff --git a/assets/js/a94703ab.c7968712.js b/assets/js/a94703ab.c7968712.js
new file mode 100644
index 0000000..c383da2
--- /dev/null
+++ b/assets/js/a94703ab.c7968712.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9048],{65932:(e,t,n)=>{n.d(t,{A:()=>l});n(96540);var a=n(34164),o=n(50539),i=n(9303),s=n(74848);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.Not [...]
\ No newline at end of file
diff --git a/assets/js/ab424fad.d7524659.js b/assets/js/ab424fad.d7524659.js
new file mode 100644
index 0000000..9bfa840
--- /dev/null
+++ b/assets/js/ab424fad.d7524659.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3689],{28453:(e,s,r)=>{r.d(s,{R:()=>h,x:()=>t});var i=r(96540);const n={},a=i.createContext(n);function h(e){const s=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:h(e.components),i.createElement(a.Provider,{value:s},e.children)}},7989 [...]
\ No newline at end of file
diff --git a/assets/js/ab424fad.e14fc3df.js b/assets/js/ab424fad.e14fc3df.js
deleted file mode 100644
index f4ef6bf..0000000
--- a/assets/js/ab424fad.e14fc3df.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3713],{3905:(e,a,t)=>{t.d(a,{Zo:()=>m,kt:()=>A});var r=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/edebd281.6017c67c.js b/assets/js/aba21aa0.f1686a06.js
similarity index 66%
rename from assets/js/edebd281.6017c67c.js
rename to assets/js/aba21aa0.f1686a06.js
index ce3fe5b..b686449 100644
--- a/assets/js/edebd281.6017c67c.js
+++ b/assets/js/aba21aa0.f1686a06.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4627],{83769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5742],{27093:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/ada7c6ed.94f75c19.js b/assets/js/ada7c6ed.94f75c19.js
new file mode 100644
index 0000000..1520692
--- /dev/null
+++ b/assets/js/ada7c6ed.94f75c19.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5056],{28453:(e,r,i)=>{i.d(r,{R:()=>a,x:()=>c});var s=i(96540);const t={},n=s.createContext(t);function a(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),s.createElement(n.Provider,{value:r},e.children)}},3110 [...]
\ No newline at end of file
diff --git a/assets/js/ada7c6ed.9b7f54bb.js b/assets/js/ada7c6ed.9b7f54bb.js
deleted file mode 100644
index a2975df..0000000
--- a/assets/js/ada7c6ed.9b7f54bb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4994],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/adfafb1a.30d9dd6d.js b/assets/js/adfafb1a.30d9dd6d.js
deleted file mode 100644
index 853a07d..0000000
--- a/assets/js/adfafb1a.30d9dd6d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1355],{3905:(e,r,n)=>{n.d(r,{Zo:()=>d,kt:()=>c});var a=n(67294);function t(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/adfafb1a.dde93078.js b/assets/js/adfafb1a.dde93078.js
new file mode 100644
index 0000000..5184cb7
--- /dev/null
+++ b/assets/js/adfafb1a.dde93078.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[901],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var a=r(96540);const s={},t=a.createContext(s);function i(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(t.Provider,{value:n},e.children)}},28832 [...]
\ No newline at end of file
diff --git a/assets/js/ae3873d7.4a3a1edf.js b/assets/js/ae3873d7.4a3a1edf.js
deleted file mode 100644
index 6385e78..0000000
--- a/assets/js/ae3873d7.4a3a1edf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6122],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ae3873d7.ea9fe5d7.js b/assets/js/ae3873d7.ea9fe5d7.js
new file mode 100644
index 0000000..abb5ce4
--- /dev/null
+++ b/assets/js/ae3873d7.ea9fe5d7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8701],{13351:(e,s,t)=>{t.d(s,{A:()=>i});const i=t.p+"assets/images/restart-datanode-9d845a689cad8b033dfd594bf15d0a36.png"},28453:(e,s,t)=>{t.d(s,{R:()=>o,x:()=>l});var i=t(96540);const n={},r=i.createContext(n);function o(e){const s=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof  [...]
\ No newline at end of file
diff --git a/assets/js/b00ab45d.576bd4b7.js b/assets/js/b00ab45d.576bd4b7.js
new file mode 100644
index 0000000..5292a14
--- /dev/null
+++ b/assets/js/b00ab45d.576bd4b7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5417],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>o});var r=i(96540);const t={},s=r.createContext(t);function a(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:a(e.components),r.createElement(s.Provider,{value:n},e.children)}},6503 [...]
\ No newline at end of file
diff --git a/assets/js/b00ab45d.65c3d65d.js b/assets/js/b00ab45d.65c3d65d.js
deleted file mode 100644
index 1c90f46..0000000
--- a/assets/js/b00ab45d.65c3d65d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5442],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b0ab85eb.80dca4ae.js b/assets/js/b0ab85eb.80dca4ae.js
new file mode 100644
index 0000000..b4644d6
--- /dev/null
+++ b/assets/js/b0ab85eb.80dca4ae.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8204],{21548:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-dev/coding-guidelines-for-ambari","title":"Coding Guidelines for Ambari","description":"Ambari Web Frontend Development Environment","source":"@site/versioned_docs/version-3.0.0/ambari-dev/coding-guidelines-for-ambari.md","sourceDirName":"a [...]
\ No newline at end of file
diff --git a/assets/js/b0ab85eb.892f8709.js b/assets/js/b0ab85eb.892f8709.js
deleted file mode 100644
index e958e40..0000000
--- a/assets/js/b0ab85eb.892f8709.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2652],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b11c42bf.68ccfac8.js b/assets/js/b11c42bf.68ccfac8.js
new file mode 100644
index 0000000..e120d4b
--- /dev/null
+++ b/assets/js/b11c42bf.68ccfac8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7106],{11230:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>l});const n=JSON.parse('{"id":"ambari-design/stack-and-services/stack-inheritance","title":"Stack Inheritance","description":"Each stack version must provide a metainfo.xml descriptor file which can declare whether the stack inherits from another stack version:","source":"@site [...]
\ No newline at end of file
diff --git a/assets/js/b11c42bf.96030631.js b/assets/js/b11c42bf.96030631.js
deleted file mode 100644
index 74e755c..0000000
--- a/assets/js/b11c42bf.96030631.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1771],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>h});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b16cb707.285d8653.js b/assets/js/b16cb707.285d8653.js
deleted file mode 100644
index 51c29e7..0000000
--- a/assets/js/b16cb707.285d8653.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7877],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b16cb707.fff583dd.js b/assets/js/b16cb707.fff583dd.js
new file mode 100644
index 0000000..4168fa5
--- /dev/null
+++ b/assets/js/b16cb707.fff583dd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6695],{13573:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"ambari-design/kerberos/enabling_kerberos","title":"Enabling Kerberos","description":"\x3c!---","source":"@site/versioned_docs/version-2.7.5/ambari-design/kerberos/enabling_kerberos.md","sourceDirName":"ambari-design/kerberos","slug":"/ambari-desig [...]
\ No newline at end of file
diff --git a/assets/js/b4183c90.b0100e43.js b/assets/js/b4183c90.b0100e43.js
new file mode 100644
index 0000000..b74f8d4
--- /dev/null
+++ b/assets/js/b4183c90.b0100e43.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5451],{8945:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ambari-design/stack-and-services/index","title":"Stacks and Services","description":"Introduction","source":"@site/versioned_docs/version-2.7.5/ambari-design/stack-and-services/index.md","sourceDirName":"ambari-design/stack-and-services","slug":"/a [...]
\ No newline at end of file
diff --git a/assets/js/b4183c90.c67c5d4a.js b/assets/js/b4183c90.c67c5d4a.js
deleted file mode 100644
index 880f1de..0000000
--- a/assets/js/b4183c90.c67c5d4a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6249],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b5f43110.cd67afac.js b/assets/js/b5f43110.cd67afac.js
deleted file mode 100644
index 8a37853..0000000
--- a/assets/js/b5f43110.cd67afac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8186],{32014:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"2.7.6","label":"2.7.6","banner":"unmaintained","badge":true,"noIndex":false,"className":"docs-version-2.7.6","isLast":false,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/2.7.6/introduction","docId":"introduction"},{"type":"category","label":"Quick Start","collapsible":true,"collapsed":false [...]
\ No newline at end of file
diff --git a/assets/js/b6ea12b8.264b3a49.js b/assets/js/b6ea12b8.264b3a49.js
new file mode 100644
index 0000000..e34224e
--- /dev/null
+++ b/assets/js/b6ea12b8.264b3a49.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6758],{12174:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"ambari-design/index","title":"Ambari Design","description":"Ambari Architecture//issues.apache.org/jira/secure/attachment/12559939/Ambari_Architecture.pdf","source":"@site/versioned_docs/version-2.7.6/ambari-design/index.md","sourceDirName":"ambar [...]
\ No newline at end of file
diff --git a/assets/js/b6ea12b8.ab5304b7.js b/assets/js/b6ea12b8.ab5304b7.js
deleted file mode 100644
index 000859c..0000000
--- a/assets/js/b6ea12b8.ab5304b7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3322],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b6f7b3d3.898e4427.js b/assets/js/b6f7b3d3.898e4427.js
new file mode 100644
index 0000000..14d9de4
--- /dev/null
+++ b/assets/js/b6f7b3d3.898e4427.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9504],{28453:(e,a,n)=>{n.d(a,{R:()=>t,x:()=>o});var r=n(96540);const i={},s=r.createContext(i);function t(e){const a=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(s.Provider,{value:a},e.children)}},5780 [...]
\ No newline at end of file
diff --git a/assets/js/b6f7b3d3.b239130a.js b/assets/js/b6f7b3d3.b239130a.js
deleted file mode 100644
index 6641afd..0000000
--- a/assets/js/b6f7b3d3.b239130a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3873],{3905:(e,a,t)=>{t.d(a,{Zo:()=>m,kt:()=>u});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b73133ee.81bd892b.js b/assets/js/b73133ee.81bd892b.js
new file mode 100644
index 0000000..bb61be5
--- /dev/null
+++ b/assets/js/b73133ee.81bd892b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5074],{28453:(e,t,a)=>{a.d(t,{R:()=>o,x:()=>i});var s=a(96540);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(n.Provider,{value:t},e.children)}},4682 [...]
\ No newline at end of file
diff --git a/assets/js/b73133ee.9a98d389.js b/assets/js/b73133ee.9a98d389.js
deleted file mode 100644
index 2431e31..0000000
--- a/assets/js/b73133ee.9a98d389.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3212],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b8a6281c.c6e4a5ed.js b/assets/js/b8a6281c.c6e4a5ed.js
new file mode 100644
index 0000000..1435303
--- /dev/null
+++ b/assets/js/b8a6281c.c6e4a5ed.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[534],{24990:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-plugin-contribution/scom/installation","title":"Installation","description":"Prerequisite Software","source":"@site/versioned_docs/version-2.7.6/ambari-plugin-contribution/scom/installation.md","sourceDirName":"ambari-plugin-contribution/sco [...]
\ No newline at end of file
diff --git a/assets/js/b8a6281c.fe7f406e.js b/assets/js/b8a6281c.fe7f406e.js
deleted file mode 100644
index f99c552..0000000
--- a/assets/js/b8a6281c.fe7f406e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[284],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return [...]
\ No newline at end of file
diff --git a/assets/js/b8ad0c6e.161085a9.js b/assets/js/b8ad0c6e.161085a9.js
deleted file mode 100644
index 9385ac4..0000000
--- a/assets/js/b8ad0c6e.161085a9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2540],{3905:(e,r,n)=>{n.d(r,{Zo:()=>d,kt:()=>c});var a=n(67294);function t(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b8ad0c6e.52d41652.js b/assets/js/b8ad0c6e.52d41652.js
new file mode 100644
index 0000000..eb7ff8b
--- /dev/null
+++ b/assets/js/b8ad0c6e.52d41652.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6270],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var a=r(96540);const s={},t=a.createContext(s);function i(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(t.Provider,{value:n},e.children)}},6065 [...]
\ No newline at end of file
diff --git a/assets/js/ba5c3a07.63b6c6c6.js b/assets/js/ba5c3a07.63b6c6c6.js
new file mode 100644
index 0000000..7f0303d
--- /dev/null
+++ b/assets/js/ba5c3a07.63b6c6c6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4895],{20558:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ambari-design/stack-and-services/index","title":"Stacks and Services","description":"Introduction","source":"@site/docs/ambari-design/stack-and-services/index.md","sourceDirName":"ambari-design/stack-and-services","slug":"/ambari-design/stack-and- [...]
\ No newline at end of file
diff --git a/assets/js/ba5c3a07.b1373258.js b/assets/js/ba5c3a07.b1373258.js
deleted file mode 100644
index 9f2f501..0000000
--- a/assets/js/ba5c3a07.b1373258.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4203],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bb17e347.199285ed.js b/assets/js/bb17e347.199285ed.js
deleted file mode 100644
index 5bc1cd1..0000000
--- a/assets/js/bb17e347.199285ed.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8192],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var r=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bb17e347.5a293939.js b/assets/js/bb17e347.5a293939.js
new file mode 100644
index 0000000..733abf4
--- /dev/null
+++ b/assets/js/bb17e347.5a293939.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1548],{6943:(e,i,n)=>{n.d(i,{A:()=>t});const t=n.p+"assets/images/number-0084f036ea8ce9a13ce1b2652b8e2044.png"},7433:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"ambari-design/service-dashboard/index","title":"Enhanced Service Dashboard","description":"This feature was first introduced in Ambari 2.1.0 re [...]
\ No newline at end of file
diff --git a/assets/js/bb4b36e5.32758aae.js b/assets/js/bb4b36e5.32758aae.js
deleted file mode 100644
index 845a3a4..0000000
--- a/assets/js/bb4b36e5.32758aae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6355],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bb4b36e5.952aa3ad.js b/assets/js/bb4b36e5.952aa3ad.js
new file mode 100644
index 0000000..11d51d4
--- /dev/null
+++ b/assets/js/bb4b36e5.952aa3ad.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7920],{13448:(e,n,r)=>{r.d(n,{A:()=>i});const i=r.p+"assets/images/ambari-scom-msi2-25a46ff2687e33c9c9b91d2e0a6cbe62.png"},28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>l});var i=r(96540);const s={},t=i.createContext(s);function a(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof  [...]
\ No newline at end of file
diff --git a/assets/js/bb7fa304.e34d244d.js b/assets/js/bb7fa304.e34d244d.js
deleted file mode 100644
index 9db3e5b..0000000
--- a/assets/js/bb7fa304.e34d244d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8378],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bb7fa304.e827fe2e.js b/assets/js/bb7fa304.e827fe2e.js
new file mode 100644
index 0000000..c32aee0
--- /dev/null
+++ b/assets/js/bb7fa304.e827fe2e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8132],{26099:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-dev/coding-guidelines-for-ambari","title":"Coding Guidelines for Ambari","description":"Ambari Web Frontend Development Environment","source":"@site/versioned_docs/version-2.7.5/ambari-dev/coding-guidelines-for-ambari.md","sourceDirName":"a [...]
\ No newline at end of file
diff --git a/assets/js/bbd9b1b2.c34b93d5.js b/assets/js/bbd9b1b2.c34b93d5.js
deleted file mode 100644
index 9337b9e..0000000
--- a/assets/js/bbd9b1b2.c34b93d5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6971],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bbd9b1b2.d81fbda9.js b/assets/js/bbd9b1b2.d81fbda9.js
new file mode 100644
index 0000000..50ccad4
--- /dev/null
+++ b/assets/js/bbd9b1b2.d81fbda9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[621],{19337:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"ambari-dev/how-to-contribute","title":"How to Contribute","description":"Contributing code changes","source":"@site/docs/ambari-dev/how-to-contribute.md","sourceDirName":"ambari-dev","slug":"/ambari-dev/how-to-contribute","permalink":"/docs/next/am [...]
\ No newline at end of file
diff --git a/assets/js/bcd92f71.6d60f9a1.js b/assets/js/bcd92f71.6d60f9a1.js
deleted file mode 100644
index 86e09fd..0000000
--- a/assets/js/bcd92f71.6d60f9a1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[411],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/bcd92f71.f69a0535.js b/assets/js/bcd92f71.f69a0535.js
new file mode 100644
index 0000000..461c2a7
--- /dev/null
+++ b/assets/js/bcd92f71.f69a0535.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8727],{22143:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"ambari-design/stack-and-services/defining-a-custom-stack-and-services","title":"Defining a Custom Stack and Services","description":"Background","source":"@site/versioned_docs/version-2.7.6/ambari-design/stack-and-services/defining-a-custom-stack- [...]
\ No newline at end of file
diff --git a/assets/js/bd8d1a56.53345d36.js b/assets/js/bd8d1a56.53345d36.js
deleted file mode 100644
index 1de192b..0000000
--- a/assets/js/bd8d1a56.53345d36.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6491],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bd8d1a56.f9c2383a.js b/assets/js/bd8d1a56.f9c2383a.js
new file mode 100644
index 0000000..21027f2
--- /dev/null
+++ b/assets/js/bd8d1a56.f9c2383a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4730],{28453:(e,t,a)=>{a.d(t,{R:()=>o,x:()=>i});var s=a(96540);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(n.Provider,{value:t},e.children)}},3647 [...]
\ No newline at end of file
diff --git a/assets/js/be25e9d6.82e9c142.js b/assets/js/be25e9d6.82e9c142.js
new file mode 100644
index 0000000..6d53988
--- /dev/null
+++ b/assets/js/be25e9d6.82e9c142.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7415],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var r=i(96540);const s={},t=r.createContext(s);function a(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(t.Provider,{value:n},e.children)}},9500 [...]
\ No newline at end of file
diff --git a/assets/js/be25e9d6.bc698d2e.js b/assets/js/be25e9d6.bc698d2e.js
deleted file mode 100644
index eb79f8d..0000000
--- a/assets/js/be25e9d6.bc698d2e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[80],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return  [...]
\ No newline at end of file
diff --git a/assets/js/be78d0de.29cb389a.js b/assets/js/be78d0de.29cb389a.js
deleted file mode 100644
index 3032338..0000000
--- a/assets/js/be78d0de.29cb389a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9544],{3905:(e,r,t)=>{t.d(r,{Zo:()=>l,kt:()=>d});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/be78d0de.6531d0fa.js b/assets/js/be78d0de.6531d0fa.js
new file mode 100644
index 0000000..7e46d41
--- /dev/null
+++ b/assets/js/be78d0de.6531d0fa.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3304],{28453:(e,r,s)=>{s.d(r,{R:()=>i,x:()=>o});var a=s(96540);const n={},t=a.createContext(n);function i(e){const r=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(t.Provider,{value:r},e.children)}},4809 [...]
\ No newline at end of file
diff --git a/assets/js/bea104e2.75b87b85.js b/assets/js/bea104e2.75b87b85.js
new file mode 100644
index 0000000..fc04d24
--- /dev/null
+++ b/assets/js/bea104e2.75b87b85.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9711],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>a});var n=r(96540);const o={},i=n.createContext(o);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(i.Provider,{value:t},e.children)}},6522 [...]
\ No newline at end of file
diff --git a/assets/js/bea104e2.ec141ad9.js b/assets/js/bea104e2.ec141ad9.js
deleted file mode 100644
index 743774c..0000000
--- a/assets/js/bea104e2.ec141ad9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4234],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bef5ab9c.7d8ba138.js b/assets/js/bef5ab9c.7d8ba138.js
deleted file mode 100644
index c16efc8..0000000
--- a/assets/js/bef5ab9c.7d8ba138.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5845],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bef5ab9c.8b5a77bf.js b/assets/js/bef5ab9c.8b5a77bf.js
new file mode 100644
index 0000000..bb6cfc5
--- /dev/null
+++ b/assets/js/bef5ab9c.8b5a77bf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3274],{28453:(e,r,s)=>{s.d(r,{R:()=>d,x:()=>c});var i=s(96540);const n={},t=i.createContext(n);function d(e){const r=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function c(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),i.createElement(t.Provider,{value:r},e.children)}},5286 [...]
\ No newline at end of file
diff --git a/assets/js/bf1307fc.5fe3a94d.js b/assets/js/bf1307fc.5fe3a94d.js
new file mode 100644
index 0000000..8b27579
--- /dev/null
+++ b/assets/js/bf1307fc.5fe3a94d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9525],{31413:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":"unreleased","badge":true,"noIndex":false,"className":"docs-version-current","isLast":false,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/next/introduction","docId":"introduction","unlisted":false},{"type":"category","label":"Quick Start","collaps [...]
\ No newline at end of file
diff --git a/assets/js/bf91df5f.19d574d7.js b/assets/js/bf91df5f.19d574d7.js
new file mode 100644
index 0000000..62e6f4e
--- /dev/null
+++ b/assets/js/bf91df5f.19d574d7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7522],{7540:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/hosts-metadata-ae5251d1eadb22f289b0f95b0a308ff1.png"},28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>c});var i=n(96540);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.c [...]
\ No newline at end of file
diff --git a/assets/js/bf91df5f.7e81c6c0.js b/assets/js/bf91df5f.7e81c6c0.js
deleted file mode 100644
index 738b80b..0000000
--- a/assets/js/bf91df5f.7e81c6c0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1206],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c05cd02c.a0f3ccd1.js b/assets/js/c05cd02c.a0f3ccd1.js
new file mode 100644
index 0000000..0a70ff7
--- /dev/null
+++ b/assets/js/c05cd02c.a0f3ccd1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[51],{6048:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"ambari-plugin-contribution/scom/index","title":"Ambari SCOM Management Pack","description":"This information is intended for Apache Hadoop and Microsoft System Center Operations Manager users who want to monitor their Hadoop clusters using the Ambari [...]
\ No newline at end of file
diff --git a/assets/js/c05cd02c.d39cf463.js b/assets/js/c05cd02c.d39cf463.js
deleted file mode 100644
index 69cba19..0000000
--- a/assets/js/c05cd02c.d39cf463.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5754],{3905:(t,e,a)=>{a.d(e,{Zo:()=>c,kt:()=>d});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c0bfdb7b.6bc127e0.js b/assets/js/c0bfdb7b.6bc127e0.js
deleted file mode 100644
index 044f2e3..0000000
--- a/assets/js/c0bfdb7b.6bc127e0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7569],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c0bfdb7b.6f198a9b.js b/assets/js/c0bfdb7b.6f198a9b.js
new file mode 100644
index 0000000..5739ca1
--- /dev/null
+++ b/assets/js/c0bfdb7b.6f198a9b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6659],{28453:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>o});var i=r(96540);const s={},n=i.createContext(s);function c(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(n.Provider,{value:t},e.children)}},7599 [...]
\ No newline at end of file
diff --git a/assets/js/c15388d6.7401a5c1.js b/assets/js/c15388d6.7401a5c1.js
new file mode 100644
index 0000000..ce263ca
--- /dev/null
+++ b/assets/js/c15388d6.7401a5c1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2405],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var a=r(96540);const s={},t=a.createContext(s);function i(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(t.Provider,{value:n},e.children)}},3202 [...]
\ No newline at end of file
diff --git a/assets/js/c15388d6.90406848.js b/assets/js/c15388d6.90406848.js
deleted file mode 100644
index 451d51a..0000000
--- a/assets/js/c15388d6.90406848.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3958],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c2122afe.52e505ee.js b/assets/js/c2122afe.52e505ee.js
new file mode 100644
index 0000000..aa55036
--- /dev/null
+++ b/assets/js/c2122afe.52e505ee.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4797],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var t=r(96540);const a={},s=t.createContext(a);function i(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(s.Provider,{value:n},e.children)}},3228 [...]
\ No newline at end of file
diff --git a/assets/js/c2122afe.5996b22c.js b/assets/js/c2122afe.5996b22c.js
deleted file mode 100644
index e377070..0000000
--- a/assets/js/c2122afe.5996b22c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3900],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c32869de.75447f45.js b/assets/js/c32869de.75447f45.js
new file mode 100644
index 0000000..19d9116
--- /dev/null
+++ b/assets/js/c32869de.75447f45.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8973],{28453:(e,n,r)=>{r.d(n,{R:()=>t,x:()=>l});var i=r(96540);const s={},a=i.createContext(s);function t(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),i.createElement(a.Provider,{value:n},e.children)}},3281 [...]
\ No newline at end of file
diff --git a/assets/js/c32869de.7af99014.js b/assets/js/c32869de.7af99014.js
deleted file mode 100644
index 597a8ae..0000000
--- a/assets/js/c32869de.7af99014.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3006],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c3ab5e42.82495fa2.js b/assets/js/c3ab5e42.82495fa2.js
new file mode 100644
index 0000000..efa8b27
--- /dev/null
+++ b/assets/js/c3ab5e42.82495fa2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5544],{28453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>o});var r=n(96540);const i={},a=r.createContext(i);function t(e){const s=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(a.Provider,{value:s},e.children)}},5460 [...]
\ No newline at end of file
diff --git a/assets/js/c3ab5e42.e526b513.js b/assets/js/c3ab5e42.e526b513.js
deleted file mode 100644
index 402c640..0000000
--- a/assets/js/c3ab5e42.e526b513.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8303],{3905:(e,a,t)=>{t.d(a,{Zo:()=>l,kt:()=>h});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c3af0256.4df6a275.js b/assets/js/c3af0256.4df6a275.js
deleted file mode 100644
index fd50dda..0000000
--- a/assets/js/c3af0256.4df6a275.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4123],{3905:(e,t,r)=>{r.d(t,{Zo:()=>b,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c3af0256.e9d73c85.js b/assets/js/c3af0256.e9d73c85.js
new file mode 100644
index 0000000..c6b70aa
--- /dev/null
+++ b/assets/js/c3af0256.e9d73c85.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1239],{28453:(e,n,r)=>{r.d(n,{R:()=>a,x:()=>o});var s=r(96540);const i={},t=s.createContext(i);function a(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:n},e.children)}},7352 [...]
\ No newline at end of file
diff --git a/assets/js/c42e05d6.a0a182e9.js b/assets/js/c42e05d6.a0a182e9.js
new file mode 100644
index 0000000..5504505
--- /dev/null
+++ b/assets/js/c42e05d6.a0a182e9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2610],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(r.Provider,{value:n},e.children)}},3840 [...]
\ No newline at end of file
diff --git a/assets/js/c42e05d6.cac08164.js b/assets/js/c42e05d6.cac08164.js
deleted file mode 100644
index 178fd58..0000000
--- a/assets/js/c42e05d6.cac08164.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5453],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c4ed238f.5a2796e9.js b/assets/js/c4ed238f.5a2796e9.js
new file mode 100644
index 0000000..f3bb3c6
--- /dev/null
+++ b/assets/js/c4ed238f.5a2796e9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8862],{24677:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>t});const r=JSON.parse('{"id":"ambari-design/kerberos/kerberos_service","title":"The Kerberos Service","description":"\x3c!---","source":"@site/versioned_docs/version-3.0.0/ambari-design/kerberos/kerberos_service.md","sourceDirName":"ambari-design/kerberos","slug":"/ambari-desi [...]
\ No newline at end of file
diff --git a/assets/js/c4ed238f.ef7a9cf3.js b/assets/js/c4ed238f.ef7a9cf3.js
deleted file mode 100644
index e7f1b4f..0000000
--- a/assets/js/c4ed238f.ef7a9cf3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4706],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c5196441.31fee6b9.js b/assets/js/c5196441.31fee6b9.js
new file mode 100644
index 0000000..2bfef71
--- /dev/null
+++ b/assets/js/c5196441.31fee6b9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[810],{28453:(e,i,s)=>{s.d(i,{R:()=>a,x:()=>o});var n=s(96540);const r={},t=n.createContext(r);function a(e){const i=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(t.Provider,{value:i},e.children)}},50898 [...]
\ No newline at end of file
diff --git a/assets/js/c5196441.88ff94fb.js b/assets/js/c5196441.88ff94fb.js
deleted file mode 100644
index 54bf0ca..0000000
--- a/assets/js/c5196441.88ff94fb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[690],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>v});var i=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return [...]
\ No newline at end of file
diff --git a/assets/js/c5fe5b8a.0ca83626.js b/assets/js/c5fe5b8a.0ca83626.js
deleted file mode 100644
index da3f851..0000000
--- a/assets/js/c5fe5b8a.0ca83626.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[709],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>b});var n=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/c5fe5b8a.12d455b7.js b/assets/js/c5fe5b8a.12d455b7.js
new file mode 100644
index 0000000..d0c89d9
--- /dev/null
+++ b/assets/js/c5fe5b8a.12d455b7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6224],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>c});var i=r(96540);const a={},n=i.createContext(a);function s(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(n.Provider,{value:t},e.children)}},7975 [...]
\ No newline at end of file
diff --git a/assets/js/c611616c.60f9a8de.js b/assets/js/c611616c.60f9a8de.js
new file mode 100644
index 0000000..1cbffc8
--- /dev/null
+++ b/assets/js/c611616c.60f9a8de.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6832],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>o});var i=n(96540);const s={},r=i.createContext(s);function a(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(r.Provider,{value:t},e.children)}},8906 [...]
\ No newline at end of file
diff --git a/assets/js/c611616c.e5b5396e.js b/assets/js/c611616c.e5b5396e.js
deleted file mode 100644
index c7d594d..0000000
--- a/assets/js/c611616c.e5b5396e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2038],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>k});var i=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c9bc7e6a.030ae149.js b/assets/js/c9bc7e6a.030ae149.js
new file mode 100644
index 0000000..7ef7fde
--- /dev/null
+++ b/assets/js/c9bc7e6a.030ae149.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4573],{28453:(e,n,i)=>{i.d(n,{R:()=>l,x:()=>c});var r=i(96540);const s={},d=r.createContext(s);function l(e){const n=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(d.Provider,{value:n},e.children)}},9614 [...]
\ No newline at end of file
diff --git a/assets/js/c9bc7e6a.160427e6.js b/assets/js/c9bc7e6a.160427e6.js
deleted file mode 100644
index e92dba7..0000000
--- a/assets/js/c9bc7e6a.160427e6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[239],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/c9efce87.2b7bc2c3.js b/assets/js/c9efce87.2b7bc2c3.js
deleted file mode 100644
index 1800975..0000000
--- a/assets/js/c9efce87.2b7bc2c3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8565],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/c9efce87.615b1fb9.js b/assets/js/c9efce87.615b1fb9.js
new file mode 100644
index 0000000..46cc7e0
--- /dev/null
+++ b/assets/js/c9efce87.615b1fb9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6565],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var t=r(96540);const a={},s=t.createContext(a);function i(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(s.Provider,{value:n},e.children)}},5061 [...]
\ No newline at end of file
diff --git a/assets/js/cb3cb9eb.0b762431.js b/assets/js/cb3cb9eb.0b762431.js
new file mode 100644
index 0000000..c5a2776
--- /dev/null
+++ b/assets/js/cb3cb9eb.0b762431.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2724],{37955:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"2.7.5","label":"2.7.5","banner":"unmaintained","badge":true,"noIndex":false,"className":"docs-version-2.7.5","isLast":false,"docsSidebars":{"ambariSidebar":[{"type":"link","label":"Introduction","href":"/docs/2.7.5/introduction","docId":"introduction","unlisted":false},{"type":"category","label":"Quick Start","collaps [...]
\ No newline at end of file
diff --git a/assets/js/cc0a7fa6.475d7171.js b/assets/js/cc0a7fa6.475d7171.js
deleted file mode 100644
index 0da1ae7..0000000
--- a/assets/js/cc0a7fa6.475d7171.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5835],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>m});var i=t(67294);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/cc0a7fa6.911e94a0.js b/assets/js/cc0a7fa6.911e94a0.js
new file mode 100644
index 0000000..49a453e
--- /dev/null
+++ b/assets/js/cc0a7fa6.911e94a0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7958],{5917:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"ambari-design/stack-and-services/extensions","title":"Extensions","description":"Background","source":"@site/versioned_docs/version-2.7.5/ambari-design/stack-and-services/extensions.md","sourceDirName":"ambari-design/stack-and-services","slug":"/am [...]
\ No newline at end of file
diff --git a/assets/js/ccbb503f.5c436d21.js b/assets/js/ccbb503f.5c436d21.js
deleted file mode 100644
index 5c47e72..0000000
--- a/assets/js/ccbb503f.5c436d21.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7798],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ccbb503f.b3bf50a6.js b/assets/js/ccbb503f.b3bf50a6.js
new file mode 100644
index 0000000..9c1d0d3
--- /dev/null
+++ b/assets/js/ccbb503f.b3bf50a6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7137],{28453:(e,i,r)=>{r.d(i,{R:()=>d,x:()=>a});var s=r(96540);const n={},t=s.createContext(n);function d(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(t.Provider,{value:i},e.children)}},7002 [...]
\ No newline at end of file
diff --git a/assets/js/ceb4c89f.64be2357.js b/assets/js/ceb4c89f.64be2357.js
new file mode 100644
index 0000000..df54738
--- /dev/null
+++ b/assets/js/ceb4c89f.64be2357.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3645],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>o});var n=r(96540);const a={},i=n.createContext(a);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(i.Provider,{value:t},e.children)}},4532 [...]
\ No newline at end of file
diff --git a/assets/js/ceb4c89f.d9712afc.js b/assets/js/ceb4c89f.d9712afc.js
deleted file mode 100644
index ac75a53..0000000
--- a/assets/js/ceb4c89f.d9712afc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1808],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/cfaef5a5.2f4e4cd7.js b/assets/js/cfaef5a5.2f4e4cd7.js
deleted file mode 100644
index d4cc354..0000000
--- a/assets/js/cfaef5a5.2f4e4cd7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1392],{3905:(e,n,a)=>{a.d(n,{Zo:()=>p,kt:()=>u});var r=a(67294);function i(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function t(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/cfaef5a5.eb164304.js b/assets/js/cfaef5a5.eb164304.js
new file mode 100644
index 0000000..cc89f68
--- /dev/null
+++ b/assets/js/cfaef5a5.eb164304.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2167],{28453:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>c});var a=i(96540);const s={},r=a.createContext(s);function t(e){const n=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),a.createElement(r.Provider,{value:n},e.children)}},3650 [...]
\ No newline at end of file
diff --git a/assets/js/d000c304.02f29638.js b/assets/js/d000c304.02f29638.js
new file mode 100644
index 0000000..449fac6
--- /dev/null
+++ b/assets/js/d000c304.02f29638.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9697],{17473:(e,t,n)=>{n.d(t,{A:()=>y});var r=n(96540),i=n(34164),o=n(30102),s=n(56289),a=n(40797);const c=["zero","one","two","few","many","other"];function l(e){return c.filter((t=>e.includes(t)))}const u={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function d(){const{i18n:{currentLocale:e}}=(0,a.A)();return(0,r.useMemo)((()=>{try{return function(e){const t=new Intl.P [...]
\ No newline at end of file
diff --git a/assets/js/d000c304.5d08c36f.js b/assets/js/d000c304.5d08c36f.js
deleted file mode 100644
index 663e4ae..0000000
--- a/assets/js/d000c304.5d08c36f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1982],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d0a60e95.00542437.js b/assets/js/d0a60e95.00542437.js
deleted file mode 100644
index 3423226..0000000
--- a/assets/js/d0a60e95.00542437.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3906],{3905:(e,r,t)=>{t.d(r,{Zo:()=>l,kt:()=>d});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d0a60e95.1497be23.js b/assets/js/d0a60e95.1497be23.js
new file mode 100644
index 0000000..9dd9147
--- /dev/null
+++ b/assets/js/d0a60e95.1497be23.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9877],{28453:(e,r,s)=>{s.d(r,{R:()=>i,x:()=>o});var a=s(96540);const n={},t=a.createContext(n);function i(e){const r=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(t.Provider,{value:r},e.children)}},8161 [...]
\ No newline at end of file
diff --git a/assets/js/d2d88ffa.2a0309f0.js b/assets/js/d2d88ffa.2a0309f0.js
deleted file mode 100644
index 9673626..0000000
--- a/assets/js/d2d88ffa.2a0309f0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6981],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>d});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d2d88ffa.30f7ba76.js b/assets/js/d2d88ffa.30f7ba76.js
new file mode 100644
index 0000000..a64ceb2
--- /dev/null
+++ b/assets/js/d2d88ffa.30f7ba76.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4148],{28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var i=t(96540);const s={},a=i.createContext(s);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(a.Provider,{value:n},e.children)}},7951 [...]
\ No newline at end of file
diff --git a/assets/js/d2e7df71.9a1328d4.js b/assets/js/d2e7df71.9a1328d4.js
new file mode 100644
index 0000000..9aeadfc
--- /dev/null
+++ b/assets/js/d2e7df71.9a1328d4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4863],{28453:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>a});var i=s(96540);const n={},r=i.createContext(n);function c(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),i.createElement(r.Provider,{value:t},e.children)}},3863 [...]
\ No newline at end of file
diff --git a/assets/js/d2e7df71.c70d7f9e.js b/assets/js/d2e7df71.c70d7f9e.js
deleted file mode 100644
index 07c0f3f..0000000
--- a/assets/js/d2e7df71.c70d7f9e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7150],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d40031c5.bc95a2fa.js b/assets/js/d40031c5.bc95a2fa.js
deleted file mode 100644
index 1bb6f0d..0000000
--- a/assets/js/d40031c5.bc95a2fa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5697],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d40031c5.c3f4ce24.js b/assets/js/d40031c5.c3f4ce24.js
new file mode 100644
index 0000000..a5d2b1d
--- /dev/null
+++ b/assets/js/d40031c5.c3f4ce24.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[939],{12505:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"ambari-design/index","title":"Ambari Design","description":"Ambari Architecture//issues.apache.org/jira/secure/attachment/12559939/Ambari_Architecture.pdf","source":"@site/versioned_docs/version-2.7.5/ambari-design/index.md","sourceDirName":"ambari [...]
\ No newline at end of file
diff --git a/assets/js/d4abeb11.3cade03c.js b/assets/js/d4abeb11.3cade03c.js
new file mode 100644
index 0000000..f72177c
--- /dev/null
+++ b/assets/js/d4abeb11.3cade03c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5341],{28453:(n,e,s)=>{s.d(e,{R:()=>o,x:()=>a});var i=s(96540);const t={},r=i.createContext(t);function o(n){const e=i.useContext(r);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function a(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(t):n.components||t:o(n.components),i.createElement(r.Provider,{value:e},n.children)}},5182 [...]
\ No newline at end of file
diff --git a/assets/js/d4abeb11.f192b98c.js b/assets/js/d4abeb11.f192b98c.js
deleted file mode 100644
index 1bcaebd..0000000
--- a/assets/js/d4abeb11.f192b98c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7256],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>d});var a=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d6cddf17.12597b38.js b/assets/js/d6cddf17.12597b38.js
new file mode 100644
index 0000000..4e5570b
--- /dev/null
+++ b/assets/js/d6cddf17.12597b38.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2490],{11155:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-dev/ambari-code-layout","title":"Ambari Code Layout","description":"Ambari code checkout and build instructions are available in Ambari Development page.","source":"@site/versioned_docs/version-3.0.0/ambari-dev/ambari-code-layout.md","sourc [...]
\ No newline at end of file
diff --git a/assets/js/d6cddf17.cf905020.js b/assets/js/d6cddf17.cf905020.js
deleted file mode 100644
index 58938da..0000000
--- a/assets/js/d6cddf17.cf905020.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3377],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d89d9666.40d78d2c.js b/assets/js/d89d9666.40d78d2c.js
deleted file mode 100644
index 0d23276..0000000
--- a/assets/js/d89d9666.40d78d2c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2946],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var i=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d89d9666.8c89aa65.js b/assets/js/d89d9666.8c89aa65.js
new file mode 100644
index 0000000..b945d70
--- /dev/null
+++ b/assets/js/d89d9666.8c89aa65.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2145],{21959:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"ambari-design/kerberos/kerberos_descriptor","title":"The Kerberos Descriptor","description":"\x3c!---","source":"@site/versioned_docs/version-3.0.0/ambari-design/kerberos/kerberos_descriptor.md","sourceDirName":"ambari-design/kerberos","slug":"/am [...]
\ No newline at end of file
diff --git a/assets/js/d914ed21.4550bb9c.js b/assets/js/d914ed21.4550bb9c.js
deleted file mode 100644
index 70a02c5..0000000
--- a/assets/js/d914ed21.4550bb9c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2523],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>d});var a=t(67294);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d914ed21.b6502a78.js b/assets/js/d914ed21.b6502a78.js
new file mode 100644
index 0000000..9251ea8
--- /dev/null
+++ b/assets/js/d914ed21.b6502a78.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5713],{28453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var i=s(96540);const a={},t=i.createContext(a);function r(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(t.Provider,{value:n},e.children)}},4454 [...]
\ No newline at end of file
diff --git a/assets/js/d9bcd801.3d5a04cb.js b/assets/js/d9bcd801.3d5a04cb.js
deleted file mode 100644
index b01dac1..0000000
--- a/assets/js/d9bcd801.3d5a04cb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6073],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/d9bcd801.618c17d3.js b/assets/js/d9bcd801.618c17d3.js
new file mode 100644
index 0000000..c2ee704
--- /dev/null
+++ b/assets/js/d9bcd801.618c17d3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4562],{28453:(e,n,i)=>{i.d(n,{R:()=>a,x:()=>c});var r=i(96540);const s={},t=r.createContext(s);function a(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(t.Provider,{value:n},e.children)}},4278 [...]
\ No newline at end of file
diff --git a/assets/js/daab7189.6dd8cffa.js b/assets/js/daab7189.6dd8cffa.js
new file mode 100644
index 0000000..e3b35bf
--- /dev/null
+++ b/assets/js/daab7189.6dd8cffa.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2078],{10224:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>t,toc:()=>l});const t=JSON.parse('{"id":"quick-start/quick-start-for-new-vm-users","title":"Quick Start for New VM Users","description":"This Quick Start guide is for readers who are new to the use of virtual machines, Apache Ambari, and/or the Apache Hadoop component stack, who would li [...]
\ No newline at end of file
diff --git a/assets/js/daab7189.b4fd5d95.js b/assets/js/daab7189.b4fd5d95.js
deleted file mode 100644
index 15cefb7..0000000
--- a/assets/js/daab7189.b4fd5d95.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9756],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>h});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/db92b140.4b6c6923.js b/assets/js/db92b140.4b6c6923.js
new file mode 100644
index 0000000..33ebc4e
--- /dev/null
+++ b/assets/js/db92b140.4b6c6923.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1551],{28453:(e,n,s)=>{s.d(n,{R:()=>c,x:()=>a});var i=s(96540);const r={},t=i.createContext(r);function c(e){const n=i.useContext(t);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(t.Provider,{value:n},e.children)}},6769 [...]
\ No newline at end of file
diff --git a/assets/js/db92b140.854c26e6.js b/assets/js/db92b140.854c26e6.js
deleted file mode 100644
index bf29309..0000000
--- a/assets/js/db92b140.854c26e6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6537],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/dce726f4.b05b5cd6.js b/assets/js/dce726f4.b05b5cd6.js
deleted file mode 100644
index 62cfc5d..0000000
--- a/assets/js/dce726f4.b05b5cd6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8830],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/dce726f4.bf5eb671.js b/assets/js/dce726f4.bf5eb671.js
new file mode 100644
index 0000000..8824788
--- /dev/null
+++ b/assets/js/dce726f4.bf5eb671.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1326],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>a});var n=r(96540);const o={},i=n.createContext(o);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(i.Provider,{value:t},e.children)}},8728 [...]
\ No newline at end of file
diff --git a/assets/js/dd82c715.0faebced.js b/assets/js/dd82c715.0faebced.js
deleted file mode 100644
index 8d92081..0000000
--- a/assets/js/dd82c715.0faebced.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4775],{3905:(e,n,a)=>{a.d(n,{Zo:()=>p,kt:()=>u});var r=a(67294);function i(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function t(e,n){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/dd82c715.c426f6da.js b/assets/js/dd82c715.c426f6da.js
new file mode 100644
index 0000000..2682f6b
--- /dev/null
+++ b/assets/js/dd82c715.c426f6da.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4693],{28453:(e,n,i)=>{i.d(n,{R:()=>t,x:()=>c});var s=i(96540);const a={},r=s.createContext(a);function t(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),s.createElement(r.Provider,{value:n},e.children)}},6194 [...]
\ No newline at end of file
diff --git a/assets/js/e145e521.16258a0b.js b/assets/js/e145e521.16258a0b.js
deleted file mode 100644
index 95db86c..0000000
--- a/assets/js/e145e521.16258a0b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8261],{3905:(e,a,n)=>{n.d(a,{Zo:()=>p,kt:()=>d});var t=n(67294);function i(e,a,n){return a in e?Object.defineProperty(e,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[a]=n,e}function r(e,a){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.push.apply(n,t)}retur [...]
\ No newline at end of file
diff --git a/assets/js/e145e521.77294ecc.js b/assets/js/e145e521.77294ecc.js
new file mode 100644
index 0000000..6228829
--- /dev/null
+++ b/assets/js/e145e521.77294ecc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7117],{28453:(n,e,a)=>{a.d(e,{R:()=>r,x:()=>t});var s=a(96540);const i={},c=s.createContext(i);function r(n){const e=s.useContext(c);return s.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function t(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:r(n.components),s.createElement(c.Provider,{value:e},n.children)}},6912 [...]
\ No newline at end of file
diff --git a/assets/js/e15946f6.693ce40e.js b/assets/js/e15946f6.693ce40e.js
new file mode 100644
index 0000000..154f7f8
--- /dev/null
+++ b/assets/js/e15946f6.693ce40e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7097],{1216:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-design/alerts","title":"Alerts","description":"WEB and METRIC alert types include a connectiontimeout property on the alert definition (see below in AlertDefinition uri : connectiontimeout). This value is in seconds and defaults to 5.0. Use  [...]
\ No newline at end of file
diff --git a/assets/js/e15946f6.fb71c1ac.js b/assets/js/e15946f6.fb71c1ac.js
deleted file mode 100644
index a279e60..0000000
--- a/assets/js/e15946f6.fb71c1ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6153],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/e1653e0c.049c9d5f.js b/assets/js/e1653e0c.049c9d5f.js
new file mode 100644
index 0000000..4bad7db
--- /dev/null
+++ b/assets/js/e1653e0c.049c9d5f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9113],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>a});var n=r(96540);const o={},i=n.createContext(o);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),n.createElement(i.Provider,{value:t},e.children)}},7349 [...]
\ No newline at end of file
diff --git a/assets/js/e1653e0c.1824aaf1.js b/assets/js/e1653e0c.1824aaf1.js
deleted file mode 100644
index ba25dbd..0000000
--- a/assets/js/e1653e0c.1824aaf1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5128],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/e2611f6c.15932eec.js b/assets/js/e2611f6c.15932eec.js
deleted file mode 100644
index 9ece3be..0000000
--- a/assets/js/e2611f6c.15932eec.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4308],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/e2611f6c.1a1b2826.js b/assets/js/e2611f6c.1a1b2826.js
new file mode 100644
index 0000000..bc752c8
--- /dev/null
+++ b/assets/js/e2611f6c.1a1b2826.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3417],{3735:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"ambari-design/index","title":"Ambari Design","description":"Ambari Architecture//issues.apache.org/jira/secure/attachment/12559939/Ambari_Architecture.pdf","source":"@site/docs/ambari-design/index.md","sourceDirName":"ambari-design","slug":"/ambari [...]
\ No newline at end of file
diff --git a/assets/js/e3d05132.54208ed5.js b/assets/js/e3d05132.54208ed5.js
deleted file mode 100644
index 7974e4a..0000000
--- a/assets/js/e3d05132.54208ed5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6380],{3905:(t,e,a)=>{a.d(e,{Zo:()=>c,kt:()=>d});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function i(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/e3d05132.e1bb3b24.js b/assets/js/e3d05132.e1bb3b24.js
new file mode 100644
index 0000000..599b813
--- /dev/null
+++ b/assets/js/e3d05132.e1bb3b24.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6306],{28154:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/ambari-scom-10293ba44ce6c7360b538dedf43b6bcc.jpg"},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(96540);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.com [...]
\ No newline at end of file
diff --git a/assets/js/e81b0e2a.01125d7f.js b/assets/js/e81b0e2a.01125d7f.js
deleted file mode 100644
index 8dd51a3..0000000
--- a/assets/js/e81b0e2a.01125d7f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[837],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>u});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return [...]
\ No newline at end of file
diff --git a/assets/js/e81b0e2a.e68aef1e.js b/assets/js/e81b0e2a.e68aef1e.js
new file mode 100644
index 0000000..6f01151
--- /dev/null
+++ b/assets/js/e81b0e2a.e68aef1e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1635],{8369:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>t,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"ambari-dev/verifying-release-candidate","title":"Verifying Release Candidate","description":"Apache Release Process","source":"@site/versioned_docs/version-3.0.0/ambari-dev/verifying-release-candidate.md","sourceDirName":"ambari-dev","slug":"/ambar [...]
\ No newline at end of file
diff --git a/assets/js/e90d5959.2a426170.js b/assets/js/e90d5959.2a426170.js
deleted file mode 100644
index fef420c..0000000
--- a/assets/js/e90d5959.2a426170.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4151],{3905:(e,r,n)=>{n.d(r,{Zo:()=>d,kt:()=>c});var a=n(67294);function t(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/e90d5959.3ce52e72.js b/assets/js/e90d5959.3ce52e72.js
new file mode 100644
index 0000000..d64be23
--- /dev/null
+++ b/assets/js/e90d5959.3ce52e72.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6033],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var a=r(96540);const s={},t=a.createContext(s);function i(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(t.Provider,{value:n},e.children)}},4541 [...]
\ No newline at end of file
diff --git a/assets/js/e9a788e4.0e8305ac.js b/assets/js/e9a788e4.0e8305ac.js
deleted file mode 100644
index b2c6e35..0000000
--- a/assets/js/e9a788e4.0e8305ac.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6134],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/e9a788e4.8e2e81e2.js b/assets/js/e9a788e4.8e2e81e2.js
new file mode 100644
index 0000000..b05c9c2
--- /dev/null
+++ b/assets/js/e9a788e4.8e2e81e2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4470],{24860:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"ambari-design/kerberos/enabling_kerberos","title":"Enabling Kerberos","description":"\x3c!---","source":"@site/docs/ambari-design/kerberos/enabling_kerberos.md","sourceDirName":"ambari-design/kerberos","slug":"/ambari-design/kerberos/enabling_kerb [...]
\ No newline at end of file
diff --git a/assets/js/eb76abe2.75c1f309.js b/assets/js/eb76abe2.75c1f309.js
new file mode 100644
index 0000000..0627d01
--- /dev/null
+++ b/assets/js/eb76abe2.75c1f309.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9421],{28453:(e,r,s)=>{s.d(r,{R:()=>i,x:()=>o});var a=s(96540);const n={},t=a.createContext(n);function i(e){const r=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(t.Provider,{value:r},e.children)}},4917 [...]
\ No newline at end of file
diff --git a/assets/js/eb76abe2.c2fbb480.js b/assets/js/eb76abe2.c2fbb480.js
deleted file mode 100644
index 5f726e0..0000000
--- a/assets/js/eb76abe2.c2fbb480.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8867],{3905:(e,r,t)=>{t.d(r,{Zo:()=>l,kt:()=>d});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ebab00d6.80caa46f.js b/assets/js/ebab00d6.80caa46f.js
deleted file mode 100644
index e65e5f2..0000000
--- a/assets/js/ebab00d6.80caa46f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5260],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ebab00d6.8b1e9875.js b/assets/js/ebab00d6.8b1e9875.js
new file mode 100644
index 0000000..1acc851
--- /dev/null
+++ b/assets/js/ebab00d6.8b1e9875.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3893],{28453:(e,t,r)=>{r.d(t,{R:()=>c,x:()=>o});var i=r(96540);const s={},n=i.createContext(s);function c(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(n.Provider,{value:t},e.children)}},5749 [...]
\ No newline at end of file
diff --git a/assets/js/ed9ee576.b6f9de1a.js b/assets/js/ed9ee576.b6f9de1a.js
new file mode 100644
index 0000000..3378277
--- /dev/null
+++ b/assets/js/ed9ee576.b6f9de1a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6207],{8994:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>c});const i=JSON.parse('{"id":"ambari-plugin-contribution/step-by-step","title":"Step-by-step guide on adding a dashboard widget for a host.","description":"Create your own dashboard widget for hosts:","source":"@site/versioned_docs/version-2.7.5/ambari-plugin-contribution/step- [...]
\ No newline at end of file
diff --git a/assets/js/ed9ee576.df7b5fd0.js b/assets/js/ed9ee576.df7b5fd0.js
deleted file mode 100644
index 9ea8cb7..0000000
--- a/assets/js/ed9ee576.df7b5fd0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7540],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/edbee287.109b312d.js b/assets/js/edbee287.109b312d.js
new file mode 100644
index 0000000..20d5165
--- /dev/null
+++ b/assets/js/edbee287.109b312d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2541],{4585:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"ambari-design/alerts","title":"Alerts","description":"WEB and METRIC alert types include a connectiontimeout property on the alert definition (see below in AlertDefinition uri : connectiontimeout). This value is in seconds and defaults to 5.0. Use  [...]
\ No newline at end of file
diff --git a/assets/js/edbee287.923bccae.js b/assets/js/edbee287.923bccae.js
deleted file mode 100644
index 2d2696a..0000000
--- a/assets/js/edbee287.923bccae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6343],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ee472cc0.9903aaae.js b/assets/js/ee472cc0.9903aaae.js
deleted file mode 100644
index 2344443..0000000
--- a/assets/js/ee472cc0.9903aaae.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1914],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ee472cc0.e26a9f1d.js b/assets/js/ee472cc0.e26a9f1d.js
new file mode 100644
index 0000000..cbebd60
--- /dev/null
+++ b/assets/js/ee472cc0.e26a9f1d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3953],{28453:(e,t,i)=>{i.d(t,{R:()=>c,x:()=>a});var r=i(96540);const s={},n=r.createContext(s);function c(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),r.createElement(n.Provider,{value:t},e.children)}},7209 [...]
\ No newline at end of file
diff --git a/assets/js/ef4c9b90.ac75d6a6.js b/assets/js/ef4c9b90.ac75d6a6.js
deleted file mode 100644
index 6c9de1e..0000000
--- a/assets/js/ef4c9b90.ac75d6a6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3482],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>u});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ef4c9b90.df70a940.js b/assets/js/ef4c9b90.df70a940.js
new file mode 100644
index 0000000..7402478
--- /dev/null
+++ b/assets/js/ef4c9b90.df70a940.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6447],{606:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-dev/apache-ambari-jira","title":"Apache Ambari JIRA","description":"The following page describes the Apache Ambari JIRA components for tasks, bugs and improvements across the core project + contributions.","source":"@site/docs/ambari-dev/apac [...]
\ No newline at end of file
diff --git a/assets/js/ef7802fe.6c6d8968.js b/assets/js/ef7802fe.6c6d8968.js
deleted file mode 100644
index 69bd032..0000000
--- a/assets/js/ef7802fe.6c6d8968.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5684],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ef7802fe.a1318dd9.js b/assets/js/ef7802fe.a1318dd9.js
new file mode 100644
index 0000000..3f90cc0
--- /dev/null
+++ b/assets/js/ef7802fe.a1318dd9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[134],{20103:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>n,toc:()=>h});const n=JSON.parse('{"id":"ambari-design/views/framework-services","title":"Framework Services","description":"This section describes the framework services that are available for views.","source":"@site/versioned_docs/version-2.7.5/ambari-design/views/framework-services.md" [...]
\ No newline at end of file
diff --git a/assets/js/f0b87889.91fd7d88.js b/assets/js/f0b87889.91fd7d88.js
new file mode 100644
index 0000000..e3f4168
--- /dev/null
+++ b/assets/js/f0b87889.91fd7d88.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7227],{10383:(e,r,i)=>{i.r(r),i.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"ambari-design/metrics/ambari-server-metrics","title":"Ambari Server Metrics","description":"Outline","source":"@site/docs/ambari-design/metrics/ambari-server-metrics.md","sourceDirName":"ambari-design/metrics","slug":"/ambari-design/metrics/ambari [...]
\ No newline at end of file
diff --git a/assets/js/f0b87889.c90fda4f.js b/assets/js/f0b87889.c90fda4f.js
deleted file mode 100644
index 77458d1..0000000
--- a/assets/js/f0b87889.c90fda4f.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3234],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f309df84.4334c2f9.js b/assets/js/f309df84.4334c2f9.js
deleted file mode 100644
index fa4b73b..0000000
--- a/assets/js/f309df84.4334c2f9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2064],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>u});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f309df84.59d11a07.js b/assets/js/f309df84.59d11a07.js
new file mode 100644
index 0000000..085c102
--- /dev/null
+++ b/assets/js/f309df84.59d11a07.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4093],{28453:(e,i,t)=>{t.d(i,{R:()=>l,x:()=>a});var s=t(96540);const n={},r=s.createContext(n);function l(e){const i=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(r.Provider,{value:i},e.children)}},4331 [...]
\ No newline at end of file
diff --git a/assets/js/f369fde3.47a83795.js b/assets/js/f369fde3.47a83795.js
deleted file mode 100644
index 6dd7345..0000000
--- a/assets/js/f369fde3.47a83795.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2939],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f369fde3.c39d0889.js b/assets/js/f369fde3.c39d0889.js
new file mode 100644
index 0000000..f613460
--- /dev/null
+++ b/assets/js/f369fde3.c39d0889.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1895],{28453:(t,e,r)=>{r.d(e,{R:()=>a,x:()=>o});var n=r(96540);const s={},i=n.createContext(s);function a(t){const e=n.useContext(i);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:a(t.components),n.createElement(i.Provider,{value:e},t.children)}},8228 [...]
\ No newline at end of file
diff --git a/assets/js/f3703a6a.470db337.js b/assets/js/f3703a6a.470db337.js
new file mode 100644
index 0000000..9dfa11f
--- /dev/null
+++ b/assets/js/f3703a6a.470db337.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5336],{7557:(e,s,n)=>{n.d(s,{A:()=>r});const r=n.p+"assets/images/scripts-folder-84e22cef867bda407686971117d6519e.png"},8562:(e,s,n)=>{n.d(s,{A:()=>r});const r=n.p+"assets/images/hooks-f2edf8d59e0df1bbc1aece50a17e71a1.png"},28453:(e,s,n)=>{n.d(s,{R:()=>t,x:()=>o});var r=n(96540);const i={},a=r.createContext(i);function t(e){const s=r.useContext(a);return r.useMemo((function(){return"function"==typeo [...]
\ No newline at end of file
diff --git a/assets/js/f3703a6a.c2ce4f7c.js b/assets/js/f3703a6a.c2ce4f7c.js
deleted file mode 100644
index f6d65db..0000000
--- a/assets/js/f3703a6a.c2ce4f7c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[461],{3905:(e,a,t)=>{t.d(a,{Zo:()=>l,kt:()=>h});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return [...]
\ No newline at end of file
diff --git a/assets/js/f4c4359e.815a9eb5.js b/assets/js/f4c4359e.815a9eb5.js
deleted file mode 100644
index 7b7480b..0000000
--- a/assets/js/f4c4359e.815a9eb5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3801],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f4c4359e.ef53e16c.js b/assets/js/f4c4359e.ef53e16c.js
new file mode 100644
index 0000000..f15d66d
--- /dev/null
+++ b/assets/js/f4c4359e.ef53e16c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7114],{2825:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/jenkins-job-746391c8fc8fa38c0972eae1f430235e.png"},28453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(96540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.comp [...]
\ No newline at end of file
diff --git a/assets/js/f5df6522.c2132552.js b/assets/js/f5df6522.c2132552.js
new file mode 100644
index 0000000..2f906c9
--- /dev/null
+++ b/assets/js/f5df6522.c2132552.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5470],{30964:(a,t,e)=>{e.r(t),e.d(t,{default:()=>c});e(96540);var s=e(9136);const i=JSON.parse('{"en":{"info":{"desc":"The Ambari Team","tip":"(In no particular order)"},"pmc":[{"apacheId":"atri","avatarUrl":"https://avatars.githubusercontent.com/u/1724131?v=4","email":"atri@apache.org","gitUrl":"https://github.com/atris","githubId":"atri","name":"Atri Sharma"},{"apacheId":"brahma","avatarUrl":"http [...]
\ No newline at end of file
diff --git a/assets/js/f5df6522.ffc9dbda.js b/assets/js/f5df6522.ffc9dbda.js
deleted file mode 100644
index f579bf3..0000000
--- a/assets/js/f5df6522.ffc9dbda.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2060],{99005:(a,t,e)=>{e.r(t),e.d(t,{default:()=>c});var r=e(67294),i=e(72389);const h=JSON.parse('{"en":{"info":{"desc":"The Ambari Team","tip":"(In no particular order)"},"pmc":[{"apacheId":"atri","avatarUrl":"https://avatars.githubusercontent.com/u/1724131?v=4","email":"atri@apache.org","gitUrl":"https://github.com/atris","githubId":"atri","name":"Atri Sharma"},{"apacheId":"brahma","avatarUrl":"h [...]
\ No newline at end of file
diff --git a/assets/js/f6d284c5.55072c24.js b/assets/js/f6d284c5.55072c24.js
deleted file mode 100644
index b7c612e..0000000
--- a/assets/js/f6d284c5.55072c24.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1948],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>p});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f6d284c5.732d4e8e.js b/assets/js/f6d284c5.732d4e8e.js
new file mode 100644
index 0000000..b6c43b5
--- /dev/null
+++ b/assets/js/f6d284c5.732d4e8e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8513],{25892:(e,n,i)=>{i.d(n,{A:()=>s});const s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALsAAADDCAYAAADa4WDGAAAAAXNSR0IArs4c6QAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICA [...]
\ No newline at end of file
diff --git a/assets/js/f6eb8dc0.64680a56.js b/assets/js/f6eb8dc0.64680a56.js
new file mode 100644
index 0000000..cfcfad1
--- /dev/null
+++ b/assets/js/f6eb8dc0.64680a56.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3928],{28453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>n});var i=o(96540);const a={},s=i.createContext(a);function r(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(s.Provider,{value:t},e.children)}},7285 [...]
\ No newline at end of file
diff --git a/assets/js/f6eb8dc0.e216d9d7.js b/assets/js/f6eb8dc0.e216d9d7.js
deleted file mode 100644
index b7058b8..0000000
--- a/assets/js/f6eb8dc0.e216d9d7.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[2803],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>p});var o=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f82e9e1e.7fadc502.js b/assets/js/f82e9e1e.7fadc502.js
new file mode 100644
index 0000000..7dc83b8
--- /dev/null
+++ b/assets/js/f82e9e1e.7fadc502.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[770],{28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>i});var t=s(96540);const r={},c=t.createContext(r);function o(e){const n=t.useContext(c);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(c.Provider,{value:n},e.children)}},53937 [...]
\ No newline at end of file
diff --git a/assets/js/f82e9e1e.ba084c84.js b/assets/js/f82e9e1e.ba084c84.js
deleted file mode 100644
index b6410f3..0000000
--- a/assets/js/f82e9e1e.ba084c84.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7623],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(67294);function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f832e5eb.39777db5.js b/assets/js/f832e5eb.39777db5.js
new file mode 100644
index 0000000..80d6cd7
--- /dev/null
+++ b/assets/js/f832e5eb.39777db5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8857],{5929:(e,t,i)=>{i.d(t,{A:()=>r});const r=i.p+"assets/images/enabling-hdfs-user-metrics-42982ec96b46e9d429089590bec0fb01.png"},28453:(e,t,i)=>{i.d(t,{R:()=>l,x:()=>d});var r=i(96540);const s={},n=r.createContext(s);function l(e){const t=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function" [...]
\ No newline at end of file
diff --git a/assets/js/f832e5eb.cfa773ea.js b/assets/js/f832e5eb.cfa773ea.js
deleted file mode 100644
index e315a9f..0000000
--- a/assets/js/f832e5eb.cfa773ea.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9431],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f96444cb.4d98bc18.js b/assets/js/f96444cb.4d98bc18.js
deleted file mode 100644
index e8c9a30..0000000
--- a/assets/js/f96444cb.4d98bc18.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[7458],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/f96444cb.d696ed84.js b/assets/js/f96444cb.d696ed84.js
new file mode 100644
index 0000000..cb0317e
--- /dev/null
+++ b/assets/js/f96444cb.d696ed84.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3753],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>o});var n=r(96540);const a={},i=n.createContext(a);function s(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(i.Provider,{value:t},e.children)}},3354 [...]
\ No newline at end of file
diff --git a/assets/js/fabd7339.88e25e97.js b/assets/js/fabd7339.88e25e97.js
new file mode 100644
index 0000000..e0f1599
--- /dev/null
+++ b/assets/js/fabd7339.88e25e97.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[3368],{28453:(e,s,i)=>{i.d(s,{R:()=>a,x:()=>c});var n=i(96540);const r={},t=n.createContext(r);function a(e){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(t.Provider,{value:s},e.children)}},6351 [...]
\ No newline at end of file
diff --git a/assets/js/fabd7339.fca044c5.js b/assets/js/fabd7339.fca044c5.js
deleted file mode 100644
index f0f15d7..0000000
--- a/assets/js/fabd7339.fca044c5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6058],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>h});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/fb2be6af.2f6664f3.js b/assets/js/fb2be6af.2f6664f3.js
deleted file mode 100644
index 735b8af..0000000
--- a/assets/js/fb2be6af.2f6664f3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8042],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/fb2be6af.ed0835f1.js b/assets/js/fb2be6af.ed0835f1.js
new file mode 100644
index 0000000..82fe9ca
--- /dev/null
+++ b/assets/js/fb2be6af.ed0835f1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[5075],{28453:(e,i,r)=>{r.d(i,{R:()=>d,x:()=>a});var s=r(96540);const n={},t=s.createContext(n);function d(e){const i=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(t.Provider,{value:i},e.children)}},8134 [...]
\ No newline at end of file
diff --git a/assets/js/fbf93db7.4e47512b.js b/assets/js/fbf93db7.4e47512b.js
deleted file mode 100644
index f1992c8..0000000
--- a/assets/js/fbf93db7.4e47512b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9825],{3905:(e,r,n)=>{n.d(r,{Zo:()=>d,kt:()=>c});var a=n(67294);function t(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/fbf93db7.890d9eec.js b/assets/js/fbf93db7.890d9eec.js
new file mode 100644
index 0000000..ba9b324
--- /dev/null
+++ b/assets/js/fbf93db7.890d9eec.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1332],{28453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>o});var a=r(96540);const s={},t=a.createContext(s);function i(e){const n=a.useContext(t);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(t.Provider,{value:n},e.children)}},4156 [...]
\ No newline at end of file
diff --git a/assets/js/fc7548d9.5a71834d.js b/assets/js/fc7548d9.5a71834d.js
new file mode 100644
index 0000000..9a58a31
--- /dev/null
+++ b/assets/js/fc7548d9.5a71834d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4615],{28453:(e,t,r)=>{r.d(t,{R:()=>s,x:()=>c});var i=r(96540);const a={},n=i.createContext(a);function s(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(n.Provider,{value:t},e.children)}},4694 [...]
\ No newline at end of file
diff --git a/assets/js/fc7548d9.91b3f0f9.js b/assets/js/fc7548d9.91b3f0f9.js
deleted file mode 100644
index b1a6623..0000000
--- a/assets/js/fc7548d9.91b3f0f9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1533],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>b});var n=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/fd0160d8.5f971718.js b/assets/js/fd0160d8.5f971718.js
new file mode 100644
index 0000000..78ad65d
--- /dev/null
+++ b/assets/js/fd0160d8.5f971718.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6229],{6240:(e,i,s)=>{s.r(i),s.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>l,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"ambari-design/views/index","title":"Views","description":"Ambari Views offer a systematic way to plug-in UI capabilities to surface custom visualization, management and monitoring features in Ambari Web. A \\" view\\" is a way of extending Ambari t [...]
\ No newline at end of file
diff --git a/assets/js/fd0160d8.a12b8a12.js b/assets/js/fd0160d8.a12b8a12.js
deleted file mode 100644
index 259e468..0000000
--- a/assets/js/fd0160d8.a12b8a12.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[9164],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>v});var i=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}retur [...]
\ No newline at end of file
diff --git a/assets/js/fd601dd3.66755894.js b/assets/js/fd601dd3.66755894.js
new file mode 100644
index 0000000..9257053
--- /dev/null
+++ b/assets/js/fd601dd3.66755894.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8955],{28453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>n});var i=o(96540);const a={},s=i.createContext(a);function r(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function n(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(s.Provider,{value:t},e.children)}},6899 [...]
\ No newline at end of file
diff --git a/assets/js/fd601dd3.777a8ebe.js b/assets/js/fd601dd3.777a8ebe.js
deleted file mode 100644
index 4c30a39..0000000
--- a/assets/js/fd601dd3.777a8ebe.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[6992],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>p});var o=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}retur [...]
\ No newline at end of file
diff --git a/assets/js/ff54c629.ba221a9e.js b/assets/js/ff54c629.ba221a9e.js
new file mode 100644
index 0000000..62373a1
--- /dev/null
+++ b/assets/js/ff54c629.ba221a9e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[4888],{22605:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"introduction","title":"Introduction","description":"The Apache Ambari project is aimed at making Hadoop management simpler by developing software for provisioning, managing, and monitoring Apache Hadoop clusters. Ambari provides an intuitive, easy [...]
\ No newline at end of file
diff --git a/assets/js/ff54c629.f3a2667e.js b/assets/js/ff54c629.f3a2667e.js
deleted file mode 100644
index 8966a85..0000000
--- a/assets/js/ff54c629.f3a2667e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[1901],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/main.22c8e858.js b/assets/js/main.22c8e858.js
deleted file mode 100644
index a64a6d5..0000000
--- a/assets/js/main.22c8e858.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see main.22c8e858.js.LICENSE.txt */
-(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>b});var a=n(67294),r=n(87462),i=n(68356),o=n.n(i),s=n(16887);const c={"0176d178":[()=>n.e(7850).then(n.bind(n,90948)),"@site/versioned_docs/version-3.0.0/ambari-design/kerberos/enabling_kerberos.md",90948],"018161c8":[()=>n.e(4062).then(n.bind(n,89186)),"@site/versioned_docs/version-3.0.0/ambari-dev/development-in-docker.md",89186],"02dfd029":[()=>n.e(4908).then(n.bi [...]
\ No newline at end of file
diff --git a/assets/js/main.22c8e858.js.LICENSE.txt b/assets/js/main.22c8e858.js.LICENSE.txt
deleted file mode 100644
index 6e08db2..0000000
--- a/assets/js/main.22c8e858.js.LICENSE.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-object-assign
-(c) Sindre Sorhus
-@license MIT
-*/
-
-/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
- * @license MIT */
-
-/**
- * Prism: Lightweight, robust, elegant syntax highlighting
- *
- * @license MIT <https://opensource.org/licenses/MIT>
- * @author Lea Verou <https://lea.verou.me>
- * @namespace
- * @public
- */
-
-/** @license React v0.20.2
- * scheduler.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/** @license React v16.13.1
- * react-is.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/** @license React v17.0.2
- * react-dom.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/** @license React v17.0.2
- * react.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
diff --git a/assets/js/main.c83d693e.js b/assets/js/main.c83d693e.js
new file mode 100644
index 0000000..1c66755
--- /dev/null
+++ b/assets/js/main.c83d693e.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.c83d693e.js.LICENSE.txt */
+(self.webpackChunkambari_website=self.webpackChunkambari_website||[]).push([[8792],{204:(e,t,n)=>{"use strict";n.d(t,{G:()=>a});const a={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page" [...]
\ No newline at end of file
diff --git a/assets/js/main.c83d693e.js.LICENSE.txt b/assets/js/main.c83d693e.js.LICENSE.txt
new file mode 100644
index 0000000..b79e8be
--- /dev/null
+++ b/assets/js/main.c83d693e.js.LICENSE.txt
@@ -0,0 +1,74 @@
+/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
+ * @license MIT */
+
+/*! Bundled license information:
+
+prismjs/prism.js:
+  (**
+   * Prism: Lightweight, robust, elegant syntax highlighting
+   *
+   * @license MIT <https://opensource.org/licenses/MIT>
+   * @author Lea Verou <https://lea.verou.me>
+   * @namespace
+   * @public
+   *)
+*/
+
+/**
+ * @license React
+ * react-dom-client.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * @license React
+ * react-dom.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * @license React
+ * react-jsx-runtime.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * @license React
+ * react.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * @license React
+ * scheduler.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
diff --git a/assets/js/runtime~main.4bc18573.js b/assets/js/runtime~main.4bc18573.js
new file mode 100644
index 0000000..e65b864
--- /dev/null
+++ b/assets/js/runtime~main.4bc18573.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,d,a,c,f,b={},t={};function r(e){var d=t[e];if(void 0!==d)return d.exports;var a=t[e]={exports:{}};return b[e].call(a.exports,a,a.exports,r),a.exports}r.m=b,e=[],r.O=(d,a,c,f)=>{if(!a){var b=1/0;for(i=0;i<e.length;i++){a=e[i][0],c=e[i][1],f=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&f||b>=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f<b&&(b=f));if(t){e.splice(i--,1);var n=c();void 0!==n&&(d=n)}}return d}f=f||0;for(var i=e.length;i>0&&e[i-1] [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.e54d35dc.js b/assets/js/runtime~main.e54d35dc.js
deleted file mode 100644
index f9a978b..0000000
--- a/assets/js/runtime~main.e54d35dc.js
+++ /dev/null
@@ -1 +0,0 @@
-(()=>{"use strict";var e,d,b,a,c,f={},t={};function r(e){var d=t[e];if(void 0!==d)return d.exports;var b=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(b.exports,b,b.exports,r),b.loaded=!0,b.exports}r.m=f,r.c=t,e=[],r.O=(d,b,a,c)=>{if(!b){var f=1/0;for(i=0;i<e.length;i++){b=e[i][0],a=e[i][1],c=e[i][2];for(var t=!0,o=0;o<b.length;o++)(!1&c||f>=c)&&Object.keys(r.O).every((e=>r.O[e](b[o])))?b.splice(o--,1):(t=!1,c<f&&(f=c));if(t){e.splice(i--,1);var n=a();void 0!==n&&(d=n)}}return d}c=c| [...]
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-alerts/index.html b/docs/2.7.5/ambari-alerts/index.html
index 36db34e..77e70d8 100644
--- a/docs/2.7.5/ambari-alerts/index.html
+++ b/docs/2.7.5/ambari-alerts/index.html
@@ -1,20 +1,21 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-alerts">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-alerts" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Ambari Alerts | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-alerts"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" co [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Ambari Alerts | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-alerts"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>Help page for Alerts defined in Ambari.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="ambari-agent-heartbeat">Ambari Agent Heartbeat<a href="#ambari-agent-heartbeat" class="hash-link" aria-label="Direct link to Ambari Agent Heartbeat" title="Direct link to Ambari Agent Heartbeat">​</a></h2>
+<p><strong>Service</strong>: Ambari
 <strong>Component</strong>: Ambari Server
 <strong>Type</strong>: SERVER
 <strong>Groups</strong>: AMBARI Default
-<strong>Description</strong>: This alert is triggered if the server has lost contact with an agent.</p><p>If this alert is generated then the alert text will contain the host name (e.g. c6401.ambari.apache.org is not sending heartbeats.). Check that the agent is running and if its running tail the log to see if its receiving and heartbeat response from the server. Check if the server host name is correct in /etc/ambari-agent/conf/ambari-agent.ini file and is reachable.</p></div><footer c [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<strong>Description</strong>: This alert is triggered if the server has lost contact with an agent.</p>
+<p>If this alert is generated then the alert text will contain the host name (e.g. c6401.ambari.apache.org is not sending heartbeats.). Check that the agent is running and if its running tail the log to see if its receiving and heartbeat response from the server. Check if the server host name is correct in /etc/ambari-agent/conf/ambari-agent.ini file and is reachable.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row" [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/alerts/index.html b/docs/2.7.5/ambari-design/alerts/index.html
index 5338fe3..2d2f980 100644
--- a/docs/2.7.5/ambari-design/alerts/index.html
+++ b/docs/2.7.5/ambari-design/alerts/index.html
@@ -1,16 +1,44 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/alerts">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/alerts" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Alerts | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/alerts"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" co [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Alerts | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/alerts"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<p>For example, to update the <code>connection_timeout</code> with the API, you need to PUT the entire contents of the <code>source</code> block with your API call. For example, you need to PUT the following to update the <code>connection_timeout</code> to <strong>6.5</strong> seconds.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">PUT /api/v1/clusters/MyCluster/alert_definitions/42</span><br></span><span class="token-line" style="colo [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="creating-a-script-based-alert-dispatcher">Creating a Script-based Alert Dispatcher<a href="#creating-a-script-based-alert-dispatcher" class="hash-link" aria-label="Direct link to Creating a Script-based Alert Dispatcher" title="Direct link to Creating a Script-based Alert Dispatcher">​</a></h2>
+<p>This document will describe how to enable a custom script-based alert dispatcher which is capable of responding to Ambari alerts. The dispatcher will invoke a script with the parameters of the alert as command line arguments.</p>
+<p>The dispatcher must know the location of the script that is being executed. This is configured through <code>ambari.properties</code> by setting either:</p>
+<ul>
+<li><code>notification.dispatch.alert.script</code></li>
+<li>a custom property key that points to the script, such as <code>foo.bar.alert.dispatch.script</code></li>
+</ul>
+<p>Some examples of this are:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">notification.dispatch.alert.script=/contrib/ambari-alerts/scripts/default_logger.py</span><br></span><spa [...]
+<p>When an alert instance changes state and Ambari needs to dispatch that alert state change, the custom script will be invoked:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"># main method which is called when invoked on the command line</span><br></span><span class="token-line"  [...]
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST api/v1/alert_targets</span><br></span><span class="token-line" style="color:#393A34"><span class="to [...]
+<p>The above call will create a global alert target that will dispatch all alerts across all alert groups. Without specifying <code>ambari.dispatch-property.script</code> as a property of the alert target, Ambari will look for the default configuration key of <code>notification.dispatch.alert.script</code> in <code>ambari.properties</code>.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST api/v1/alert_targets</span><br></span><span class="token-line" style="color:#393A34"><span class="to [...]
+<p>The above call also creates a global alert target. However, a specific script key is being specified. The result is that <code>ambari.properties</code> should contain something similar to:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">com.mycompany.dispatch.syslog.script=/contrib/ambari-alerts/scripts/legacy_sys_logger.py</span><br></span [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="customizing-the-alert-template">Customizing the Alert Template<a href="#customizing-the-alert-template" class="hash-link" aria-label="Direct link to Customizing the Alert Template" title="Direct link to Customizing the Alert Template">​</a></h2>
+<p>Ambari 2.0 leverages its own alerting system to convey the state of various aspects of managed clusters. The notification template content produced by Ambari is tightly coupled to a notification type. Email and SNMP both have customizable templates that can be used to generate content. This document describes the steps necessary to change the template used by Ambari 2.0 when creating alert notifications.</p>
+<p>This procedure is targeted at Ambari Administrators that have access to the Ambari Server file system and the <code>ambari.properties</code> file. Those Administrators can create new templates or change the existing templates that are used when generating alert notification content. At this time, there is no mechanism to expose this flexibility via the APIs or the web client to end users.</p>
+<p>By default, an <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/alert-templates.xml" target="_blank" rel="noopener noreferrer">alert-templates.xml</a> ships with Ambari 2.0 bundled inside of Ambari Server JAR. This file contains all of the templates for every known type of notification (for example EMAIL and SNMP). This file is bundled in the Ambari Server JAR so the template is not exposed on the disk. But we can use that file as a reference example.</p>
+<p>When you customize the alert template, you are effectively overriding the template bundled by default. To override the alert templates XML:</p>
+<p>Some alert notification types, such as EMAIL, automatically combine all pending alerts into a single outbound notification (&quot; <strong>digest</strong>&quot;). Others, like SNMP, never combine pending alerts and will always create a 1:1 notification for every alert in the system (&quot; <strong>individual</strong>&quot;). All alert notification types are specified in the same alert templates file, but the specific alert template for each notification type will most likely vary grea [...]
+<p>The structure of the template file is defined as follows. Each <code>&lt;alert-template&gt;&lt;/alert-template&gt;</code> element declares what type of alert notification it should be used for.</p>
+<table><thead><tr><th>Variable</th><th>Description</th></tr></thead><tbody><tr><td>$alert.getAlertDefinition()</td><td>The definition that the alert is an instance of.</td></tr><tr><td>$alert.getAlertName()</td><td>The name of the alert.</td></tr><tr><td>$alert.getAlertState()</td><td>The alert state (OK|WARNING|CRITICAL|UNKNOWN)</td></tr><tr><td>$alert.getAlertText()</td><td>The specific alert text.</td></tr><tr><td>$alert.getComponentName()</td><td>The component, if any, that the alert [...]
+<p>The template uses Apache Velocity to render all tokenized content. The following variables are available for use in your template:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$summary.getTotalCount()</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button [...]
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$summary.getAlerts()</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" ar [...]
+<p>The following example illustrates how to change the subject line of all outbound email notifications to include a hard coded identifier:</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/alerts.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentCo [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/ambari-architecture/index.html b/docs/2.7.5/ambari-design/ambari-architecture/index.html
index 9f467ef..ffd0983 100644
--- a/docs/2.7.5/ambari-design/ambari-architecture/index.html
+++ b/docs/2.7.5/ambari-design/ambari-architecture/index.html
@@ -1,16 +1,14 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/ambari-architecture">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/ambari-architecture" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Ambari Architecture | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/ambari-architecture"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Ambari Architecture | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/ambari-architecture"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="d [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<embed src="/pdf/Ambari_Architecture.pdf" type="application/pdf" width="960px" height="700px"></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/ambari-architecture.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox= [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/blueprints/blueprint-ha/index.html b/docs/2.7.5/ambari-design/blueprints/blueprint-ha/index.html
index 2b6b3d6..db2685b 100644
--- a/docs/2.7.5/ambari-design/blueprints/blueprint-ha/index.html
+++ b/docs/2.7.5/ambari-design/blueprints/blueprint-ha/index.html
@@ -1,18 +1,162 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/blueprints/blueprint-ha">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/blueprints/blueprint-ha" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Blueprint Support for HA Clusters | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/blueprints/blueprint-ha"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Blueprint Support for HA Clusters | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/blueprints/blueprint-ha"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<!-- -->[ Request Body is the example blueprint defined above ]<!-- -->
-...</p><p>201 - Created</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-cluster-creation-template-2">Example Cluster Creation Template<a class="hash-link" href="#example-cluster-creation-template-2" title="Direct link to heading">​</a></h4><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-sc [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="summary">Summary<a href="#summary" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h2>
+<p>As of Ambari 2.0, Blueprints are able to deploy the following components with HA:</p>
+<ul>
+<li>
+<p> HDFS NameNode HA</p>
+</li>
+<li>
+<p>YARN ResourceManager HA</p>
+</li>
+<li>
+<p>HBase RegionServers HA</p>
+</li>
+</ul>
+<p>As of Ambari 2.1, Blueprints are able to deploy the following components with HA:</p>
+<ul>
+<li>Hive Components (<a href="https://issues.apache.org/jira/browse/AMBARI-10489" target="_blank" rel="noopener noreferrer">AMBARI-10489</a>)</li>
+<li>Storm Nimbus (<a href="https://issues.apache.org/jira/browse/AMBARI-11087" target="_blank" rel="noopener noreferrer">AMBARI-11087</a>)</li>
+<li>Oozie Server (<a href="https://issues.apache.org/jira/browse/AMBARI-6683" target="_blank" rel="noopener noreferrer">AMBARI-6683</a>)</li>
+</ul>
+<p>This functionality currently requires providing fine-grained configurations. This document provides examples.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="faq">FAQ<a href="#faq" class="hash-link" aria-label="Direct link to FAQ" title="Direct link to FAQ">​</a></h3>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="compatibility-with-ambari-ui">Compatibility with Ambari UI <a href="#compatibility-with-ambari-ui" class="hash-link" aria-label="Direct link to Compatibility with Ambari UI " title="Direct link to Compatibility with Ambari UI ">​</a></h4>
+<p>While this feature does not require the Ambari UI to function, the Blueprints HA feature is completely compatible with the Ambari UI.  An HA cluster created via Blueprints can be monitored and configured via the Ambari UI, just as any other Blueprints cluster would function.    </p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="supported-stack-versions">Supported Stack Versions<a href="#supported-stack-versions" class="hash-link" aria-label="Direct link to Supported Stack Versions" title="Direct link to Supported Stack Versions">​</a></h4>
+<p>This feature is supported as of HDP 2.1 and newer releases. Previous versions of HDP have not been tested with this feature.  </p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h3>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="blueprint-example-hdfs-namenode-ha-cluster">Blueprint Example: HDFS NameNode HA Cluster<a href="#blueprint-example-hdfs-namenode-ha-cluster" class="hash-link" aria-label="Direct link to Blueprint Example: HDFS NameNode HA Cluster" title="Direct link to Blueprint Example: HDFS NameNode HA Cluster">​</a></h4>
+<p>HDFS NameNode HA allows a cluster to be configured such that a NameNode is not a single point of failure.</p>
+<p>For more details on <a href="http://hadoop.apache.org/docs/r2.3.0/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailabilityWithQJM.html" target="_blank" rel="noopener noreferrer">HDFS NameNode HA see the Apache Hadoop documentation</a>.</p>
+<p>In an Ambari-deployed HDFS NameNode HA cluster:</p>
+<ul>
+<li>2 NameNodes are deployed: an “active” and a “passive” namenode.</li>
+<li>If the active NameNode should stop functioning properly, the passive node’s Zookeeper client will detect this case, and the passive node will become the new active node.</li>
+<li>HDFS relies on Zookeeper to manage the details of failover in these cases.</li>
+<li>The Blueprints HA feature will automatically invoke all required commands and setup steps for an HDFS NameNode HA cluster, provided that the correct configuration is provided in the Blueprint.  The shared edit logs of each NameNode are managed by the Quorum Journal Manager, rather than NFS shared storage.  The use of NFS shared storage in an HDFS HA setup is not supported by Ambari Blueprints, and is generally not encouraged.  </li>
+</ul>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="how">How<a href="#how" class="hash-link" aria-label="Direct link to How" title="Direct link to How">​</a></h4>
+<p>The Blueprints HA feature will automatically invoke all required commands and setup steps for an HDFS NameNode HA cluster, provided that the correct configuration is provided in the Blueprint.  The shared edit logs of each NameNode are managed by the Quorum Journal Manager, rather than NFS shared storage.  The use of NFS shared storage in an HDFS HA setup is not supported by Ambari Blueprints, and is generally not encouraged.  </p>
+<p>The following HDFS stack components should be included in any host group in a Blueprint that supports an HA HDFS NameNode:</p>
+<ol>
+<li>
+<p>NAMENODE</p>
+</li>
+<li>
+<p>ZKFC</p>
+</li>
+<li>
+<p>ZOOKEEPER_SERVER</p>
+</li>
+<li>
+<p>JOURNALNODE</p>
+</li>
+</ol>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="configuring-active-and-standby-namenodes">Configuring Active and Standby NameNodes<a href="#configuring-active-and-standby-namenodes" class="hash-link" aria-label="Direct link to Configuring Active and Standby NameNodes" title="Direct link to Configuring Active and Standby NameNodes">​</a></h4>
+<p>The HDFS “NAMENODE” component must be assigned to two servers, either via two separate host groups, or to a host group that maps to two physical servers in the Cluster Creation Template for this cluster.  </p>
+<p>By default, the Blueprint processor will assign the “active” NameNode to one host, and the “standby” NameNode to another.  The user of an HA Blueprint does not need to configure the initial status of each NameNode, since this can be assigned automatically.  </p>
+<p>If desired, the user can configure the initial state of each NameNode by adding the following configuration properties in the “hadoop-env” namespace:</p>
+<ol>
+<li>
+<p>dfs_ha_initial_namenode_active - This property should contain the hostname for the “active” NameNode in this cluster.</p>
+</li>
+<li>
+<p>dfs_ha_initial_namenode_standby - This property should contain the host name for the “passive” NameNode in this cluster.</p>
+</li>
+</ol>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-blueprint">Example Blueprint<a href="#example-blueprint" class="hash-link" aria-label="Direct link to Example Blueprint" title="Direct link to Example Blueprint">​</a></h4>
+<p>This is a minimal blueprint with HDFS HA: <a href="https://cwiki.apache.org/confluence/download/attachments/55151584/hdfs_ha_blueprint.json?version=4&amp;modificationDate=1434548806000&amp;api=v2" target="_blank" rel="noopener noreferrer">hdfs_ha_blueprint.json</a> </p>
+<p>These are the base configurations required. See the blueprint above for more details:</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">&quot;configurations&quot;</spa [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="hostname-topology-substitution-in-configuration-property-values">HostName Topology Substitution in Configuration Property Values<a href="#hostname-topology-substitution-in-configuration-property-values" class="hash-link" aria-label="Direct link to HostName Topology Substitution in Configuration Property Values" title="Direct link to HostName Topology Substitution in Configuration Property Values">​</a></h4>
+<p>The host-related properties should be set using the “HOSTGROUP” syntax to refer to a given Blueprint’s host group, in order to map each NameNode’s actual host (defined in the Cluster Creation Template) to the properties in hdfs-site that require these host mappings.  </p>
+<p>The syntax for these properties should be:</p>
+<p>“%HOSTGROUP::HOST_GROUP_NAME%<!-- -->:PORT<!-- -->””</p>
+<p>For example, the following property from the snippet above:</p>
+<p>&quot;dfs.namenode.http-address.mycluster.nn1&quot;:</p>
+<p>&quot;%HOSTGROUP::master_1%:50070&quot;</p>
+<p>This property value is interpreted by the Blueprint processor to refer to the host that maps to the “master_1” host group, which should include a “NAMENODE” among its list of components.  The address property listed above should map to the host for “master_1”, at the port “50070”.  </p>
+<p>Using this syntax is the most portable way to define host-specific properties within a Blueprint, since no direct host name references are used.  This will allow a Blueprint to be applied in a wider variety of cluster deployments, and not be tied to a specific set of hostnames.  </p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="register-blueprint-with-ambari-server-">Register Blueprint with Ambari Server  <a href="#register-blueprint-with-ambari-server-" class="hash-link" aria-label="Direct link to Register Blueprint with Ambari Server  " title="Direct link to Register Blueprint with Ambari Server  ">​</a></h4>
+<p>Post the blueprint to the &quot;blueprint-hdfs-ha&quot; resource to the Ambari Server.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST /api/v1/blueprints/blueprint-hdfs-ha</span><br></span><span class="token-line" style="color:#393A34" [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-cluster-creation-template">Example Cluster Creation Template<a href="#example-cluster-creation-template" class="hash-link" aria-label="Direct link to Example Cluster Creation Template" title="Direct link to Example Cluster Creation Template">​</a></h4>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="create-cluster-instance">Create Cluster Instance<a href="#create-cluster-instance" class="hash-link" aria-label="Direct link to Create Cluster Instance" title="Direct link to Create Cluster Instance">​</a></h4>
+<p>Post the cluster to the Ambari Server to provision the cluster.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST /api/v1/clusters/my-hdfs-ha-cluster</span><br></span><span class="token-line" style="color:#393A34"> [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="blueprint-example-yarn-resourcemanager-ha-cluster">Blueprint Example: Yarn ResourceManager HA Cluster<a href="#blueprint-example-yarn-resourcemanager-ha-cluster" class="hash-link" aria-label="Direct link to Blueprint Example: Yarn ResourceManager HA Cluster" title="Direct link to Blueprint Example: Yarn ResourceManager HA Cluster">​</a></h3>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="summary-1">Summary<a href="#summary-1" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h4>
+<p>Yarn ResourceManager High Availability (HA) adds support for deploying two Yarn ResourceManagers in a given Yarn cluster.  This support removes the single point of failure that occurs when single ResourceManager is used.  </p>
+<p>The Yarn ResourceManager support for HA is somewhat similar to HDFS NameNode HA in that an “active/standby” architecture is adopted, with Zookeeper used to handle the failover scenarios between the two ResourceManager instances.  </p>
+<p>The following Apache Hadoop documentation describes the steps required in order to setup Yarn ResourceManager HA manually:</p>
+<p><a href="http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html" target="_blank" rel="noopener noreferrer">http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html</a></p>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<p>  The following stack components should be included in any host group in a Blueprint that supports an HA Yarn ResourceManager</p>
+<ol>
+<li>
+<p>RESOURCEMANAGER</p>
+</li>
+<li>
+<p>ZOOKEEPER_SERVER</p>
+</li>
+</ol>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="initial-setup-of-active-and-standby-resourcemanagers">Initial setup of Active and Standby ResourceManagers<a href="#initial-setup-of-active-and-standby-resourcemanagers" class="hash-link" aria-label="Direct link to Initial setup of Active and Standby ResourceManagers" title="Direct link to Initial setup of Active and Standby ResourceManagers">​</a></h4>
+<p>The Yarn ResourceManager HA feature depends upon Zookeeper in order to manage the details of  the “active” or “standby” status of a given ResourceManager.  When the two ResourceManagers are starting up initially, the first ResourceManager instance to acquire a Zookeeper lock, called a “znode”, will become the “active” ResourceManager for the cluster, with the other instance assuming the role of the “standby” ResourceManager.  </p>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-blueprint-1">Example Blueprint<a href="#example-blueprint-1" class="hash-link" aria-label="Direct link to Example Blueprint" title="Direct link to Example Blueprint">​</a></h4>
+<p>The following link includes an example Blueprint for a 3-node Yarn ResourceManager HA Cluster:</p>
+<p><a href="https://cwiki.apache.org/confluence/download/attachments/55151584/yarn_ha_blueprint.json?version=2&amp;modificationDate=1432208770000&amp;api=v2" target="_blank" rel="noopener noreferrer">yarn_ha_blueprint.json</a></p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="register-blueprint-with-ambari-server">Register Blueprint with Ambari Server<a href="#register-blueprint-with-ambari-server" class="hash-link" aria-label="Direct link to Register Blueprint with Ambari Server" title="Direct link to Register Blueprint with Ambari Server">​</a></h4>
+<p>Post the blueprint to the &quot;blueprint-yarn-ha&quot; resource to the Ambari Server.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST /api/v1/blueprints/blueprint-yarn-ha</span><br></span><span class="token-line" style="color:#393A34" [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-cluster-creation-template-1">Example Cluster Creation Template<a href="#example-cluster-creation-template-1" class="hash-link" aria-label="Direct link to Example Cluster Creation Template" title="Direct link to Example Cluster Creation Template">​</a></h4>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="create-cluster-instance-1">Create Cluster Instance<a href="#create-cluster-instance-1" class="hash-link" aria-label="Direct link to Create Cluster Instance" title="Direct link to Create Cluster Instance">​</a></h4>
+<p>Post the cluster to the Ambari Server to provision the cluster.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST /api/v1/clusters/my-yarn-ha-cluster</span><br></span><span class="token-line" style="color:#393A34"> [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="blueprint-example-hbase-regionserver-ha-cluster">Blueprint Example: HBase RegionServer HA Cluster<a href="#blueprint-example-hbase-regionserver-ha-cluster" class="hash-link" aria-label="Direct link to Blueprint Example: HBase RegionServer HA Cluster" title="Direct link to Blueprint Example: HBase RegionServer HA Cluster">​</a></h3>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="summary-2">Summary<a href="#summary-2" class="hash-link" aria-label="Direct link to Summary" title="Direct link to Summary">​</a></h4>
+<p>HBase provides a High Availability feature for reads across HBase Region Servers.  </p>
+<p>The following link to the Apache HBase documentation provides more information on HA support in HBase:</p>
+<p><a href="http://hbase.apache.org/book.html#arch.timelineconsistent.reads" target="_blank" rel="noopener noreferrer">http://hbase.apache.org/book.html#arch.timelineconsistent.reads</a></p>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<p>For more information on how to define an HBase table with replication enabled (after the cluster has been created), please refer to the following HBase documentation:</p>
+<p><a href="http://hbase.apache.org/book.html#_creating_a_table_with_region_replication" target="_blank" rel="noopener noreferrer">http://hbase.apache.org/book.html#_creating_a_table_with_region_replication</a></p>
+<p>The following stack components should be included in any host group in a Blueprint that supports an HA HBase RegionServer:</p>
+<ol>
+<li>HBASE_REGIONSERVER</li>
+</ol>
+<p>At least two “HBASE_REGIONSERVER” components must be deployed in order to enable this feature, so that table information can be replicated across more than one Region Server.  </p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-blueprint-2">Example Blueprint<a href="#example-blueprint-2" class="hash-link" aria-label="Direct link to Example Blueprint" title="Direct link to Example Blueprint">​</a></h4>
+<p>The following link includes an example Blueprint for a 2-node HBase RegionServer HA Cluster:</p>
+<p><a href="https://cwiki.apache.org/confluence/download/attachments/55151584/hbase_rs_ha_blueprint.json?version=1&amp;modificationDate=1427136904000&amp;api=v2" target="_blank" rel="noopener noreferrer">hbase_rs_ha_blueprint.json</a></p>
+<p>The following JSON snippet includes the “hbase-site” configuration typically required for a cluster that utilizes the HBase RegionServer HA feature:  </p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="register-blueprint-with-ambari-server-1">Register Blueprint with Ambari Server<a href="#register-blueprint-with-ambari-server-1" class="hash-link" aria-label="Direct link to Register Blueprint with Ambari Server" title="Direct link to Register Blueprint with Ambari Server">​</a></h4>
+<p>Post the blueprint to the &quot;blueprint-hbase-rs-ha&quot; resource to the Ambari Server.</p>
+<p>POST /api/v1/blueprints/blueprint-hbase-rs-ha</p>
+<p>...
+[ Request Body is the example blueprint defined above ]
+...</p>
+<p>201 - Created</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-cluster-creation-template-2">Example Cluster Creation Template<a href="#example-cluster-creation-template-2" class="hash-link" aria-label="Direct link to Example Cluster Creation Template" title="Direct link to Example Cluster Creation Template">​</a></h4>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="create-cluster-instance-2">Create Cluster Instance<a href="#create-cluster-instance-2" class="hash-link" aria-label="Direct link to Create Cluster Instance" title="Direct link to Create Cluster Instance">​</a></h4>
+<p>Post the cluster to the Ambari Server to provision the cluster.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST /api/v1/clusters/my-hbase-rs-ha-cluster</span><br></span><span class="token-line" style="color:#393A [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/blueprints/blueprint-ranger/index.html b/docs/2.7.5/ambari-design/blueprints/blueprint-ranger/index.html
index df01c27..9d782ed 100644
--- a/docs/2.7.5/ambari-design/blueprints/blueprint-ranger/index.html
+++ b/docs/2.7.5/ambari-design/blueprints/blueprint-ranger/index.html
@@ -1,16 +1,108 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/blueprints/blueprint-ranger">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/blueprints/blueprint-ranger" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Blueprint support for Ranger | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/blueprints/blueprint-ranger"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Blueprint support for Ranger | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/blueprints/blueprint-ranger"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data- [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-ranger-with-the-use-of-stack-advisor">Deploy Ranger with the use of stack advisor<a href="#deploy-ranger-with-the-use-of-stack-advisor" class="hash-link" aria-label="Direct link to Deploy Ranger with the use of stack advisor" title="Direct link to Deploy Ranger with the use of stack advisor">​</a></h2>
+<p>Stack advisor makes simple the deployment of Ranger as it sets automatically the needed properties thus the user has to provided only a minimal set of configurations. The configurations properties that must be provided in either the Blueprint or cluster creation template are:</p>
+<ul>
+<li>
+<p>admin-properties:</p>
+<ul>
+<li>
+<p>DB_FLAVOR - the default is MYSQL. No need to provide this if MYSQL is to be used the database server for Ranger databases. Consult Ranger documentation for supported database servers. Also ensure the ambari-server has the appropriate jdbc driver installed for the selected database server type (e.g.: ambari-server setup --jdbc-driver)</p>
+</li>
+<li>
+<p>db_host - set the host<!-- -->:port<!-- --> of the database server that Ranger Admin will use</p>
+</li>
+<li>
+<p>db_root_user - the db user with root access that will be used during deployment to create the databases used by Ranger. By default root is used if this property is not specified.</p>
+</li>
+<li>
+<p>db_root_password - the password for root user</p>
+</li>
+<li>
+<p>db_password - the password that will be used access the Ranger database</p>
+</li>
+<li>
+<p>audit_db_password - the password that will be used to access the Ranger Audit db</p>
+</li>
+</ul>
+</li>
+<li>
+<p>ranger-env</p>
+<ul>
+<li>
+<p>ranger_admin_password - this is the Ambari user password created for creating repositories and policies in Ranger Admin for each plugin</p>
+</li>
+<li>
+<p>ranger-yarn-plugin-enabled - Enable/Disable YARN Ranger plugin. The default is Disable.</p>
+</li>
+<li>
+<p>ranger-hdfs-plugin-enabled - Enable/Disable HDFS Ranger plugin. The default is Disable.</p>
+</li>
+<li>
+<p>ranger-hbase-plugin-enabled -Enable/Disable HBase Ranger plugin. The default is Disable.</p>
+</li>
+<li>
+<p>... - check Ranger documentation for the list of supported ranger plugins</p>
+</li>
+</ul>
+</li>
+<li>
+<p>kms-properties</p>
+<ul>
+<li>
+<p>DB_FLAVOR - the default is MYSQL. No need to provide this if MYSQL is to be used the database server for Ranger databases. Consult Ranger KMS documentation for supported database servers. Also ensure the ambari-server has the appropriate jdbc driver installed for the selected database server type (e.g.: ambari-server setup --jdbc-driver)</p>
+</li>
+<li>
+<p>SQL_CONNECTOR_JAR - the default is /usr/share/java/mysql-connector-java.jar</p>
+</li>
+<li>
+<p>KMS_MASTER_KEY_PASSWD</p>
+</li>
+<li>
+<p>db_host - the host<!-- -->:port<!-- --> of the database server that Ranger KMS will use</p>
+</li>
+<li>
+<p>db_root_user - the db user with root access that will be used during deployment to create the databases used by Ranger KMS. By default root is used if this property is not specified.</p>
+</li>
+<li>
+<p>db_root_password - database password for root user</p>
+</li>
+<li>
+<p>db_password - database password for the Ranger KMS schema</p>
+</li>
+</ul>
+</li>
+<li>
+<p>hadoop-env</p>
+<ul>
+<li>keyserver_port - Port number where Key Management Server is available</li>
+<li>keyserver_host - Hostnames where Key Management Server is installed</li>
+</ul>
+</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-ranger-without-the-use-of-stack-advisor">Deploy Ranger without the use of stack advisor<a href="#deploy-ranger-without-the-use-of-stack-advisor" class="hash-link" aria-label="Direct link to Deploy Ranger without the use of stack advisor" title="Direct link to Deploy Ranger without the use of stack advisor">​</a></h2>
+<p>Without stack advisor all the configs related to Ranger, Ranger KMS and ranger plugins that don&#x27;t have default values must be set in the Blueprint or cluster creation template. Consult Ranger and ranger plugin plugins documentation for all properties.</p>
+<p>An example of such Blueprint where everything is set manually (note that this just covers a subset of currently supported configuration properties and ranger plugins):</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-ranger-in-ha-mode">Deploy Ranger in HA mode<a href="#deploy-ranger-in-ha-mode" class="hash-link" aria-label="Direct link to Deploy Ranger in HA mode" title="Direct link to Deploy Ranger in HA mode">​</a></h2>
+<p>The difference from deploying Ranger in non-HA mode is:</p>
+<ul>
+<li>Deploy RANGER_ADMIN component to multiple host</li>
+<li>Setup a load balancer and configure it to front all RANGER_ADMIN instances (The URL of a Ranger Admin instance is <a href="http://hostport" target="_blank" rel="noopener noreferrer">http://host<!-- -->:port</a> (default port 6080) )</li>
+<li>admin-properties<!-- -->
+<ul>
+<li>policymgr_external_url - override the value of this configuration property with the URL of the load balancer. Each component interacting with Ranger is using the value of this property to connect to Ranger thus these will connect via the balancer.</li>
+</ul>
+</li>
+</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/blueprints/blueprint-ranger.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3. [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/enhanced-configs/index.html b/docs/2.7.5/ambari-design/enhanced-configs/index.html
index d86d9a8..f523186 100644
--- a/docs/2.7.5/ambari-design/enhanced-configs/index.html
+++ b/docs/2.7.5/ambari-design/enhanced-configs/index.html
@@ -1,16 +1,252 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/enhanced-configs/index">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/enhanced-configs/index" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Enhanced Configs | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/enhanced-configs/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="d [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Enhanced Configs | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/enhanced-configs/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsea [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>A service provider can accomplish all the above just by changing their service definition in the <em>stacks</em>/folder.</p>
+<p>Example: HBase Enhanced Configs</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/enhanced_hbase_configs-a3a2f75292b789421cdd45c4ef7ba3c0.png" title="Hbase Enhanced Config" width="1590" height="1950" class="img_ev3q"></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="features">Features<a href="#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features">​</a></h2>
+<ul>
+<li>
+<p>Define theme with custom layout of configs</p>
+<ul>
+<li>Tabs</li>
+<li>Sections</li>
+<li>Sub-sections</li>
+</ul>
+</li>
+<li>
+<p>Place selected configs in the layout defined above</p>
+</li>
+<li>
+<p>Associate UI widget to use for a config</p>
+<ul>
+<li>Radio Buttons</li>
+<li>Slider</li>
+<li>Combo</li>
+<li>Time Interval Spinner</li>
+<li>Toggle</li>
+<li>Directory</li>
+<li>Directories</li>
+<li>List</li>
+<li>Password</li>
+<li>Text Field</li>
+<li>Checkbox</li>
+<li>Text Area</li>
+</ul>
+</li>
+<li>
+<p>Automatic unit conversion for configs which have to be shown in units different from the units being saved as.</p>
+<ul>
+<li>Memory - B, KB, MB, GB, TB, PB</li>
+<li>Time - milliseconds, seconds, minutes, hours, days, months, years</li>
+<li>Percentage - float, percentage</li>
+</ul>
+</li>
+<li>
+<p>Ability to define dependencies between configurations across services (depends-on, depended-by).</p>
+</li>
+<li>
+<p>Ability to dynamically update values of other depended-by configs when a config is changed.</p>
+</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enable-enhanced-configs---steps">Enable Enhanced Configs - Steps<a href="#enable-enhanced-configs---steps" class="hash-link" aria-label="Direct link to Enable Enhanced Configs - Steps" title="Direct link to Enable Enhanced Configs - Steps">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-1---create-theme-ui-metadata">Step 1 - Create Theme (UI Metadata)<a href="#step-1---create-theme-ui-metadata" class="hash-link" aria-label="Direct link to Step 1 - Create Theme (UI Metadata)" title="Direct link to Step 1 - Create Theme (UI Metadata)">​</a></h3>
+<p>The first step is to create a theme for your service in the stack definition folder. A theme provides necessary information of the UI to construct the enhanced configs. UI information like layout (tabs, sections, sub-sections), placement of configs in the sub-sections, and which widgets and units to use for each config</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/create_theme-f3a6ba28bbaed9515582f768d54d83b2.png" title="Apache Ambari &amp;gt; Enhanced Configs &amp;gt; Screen Shot 2015-07-13 at 3.32.59 PM.png" width="1600" height="1145" class="img_ev3q"></p>
+<ol>
+<li>Modify metainfo.xml to define a theme by including a themes block.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">themes-dir      theme.json    true</span><br></span></code></pre><div class="buttonGroup__atx"><button ty [...]
+<ol start="2">
+<li>
+<p>The optional element can be used if the default theme folder of &#x27; <em>themes</em>&#x27; is not desired, or taken by another service in the same <em>metainfo.xml</em>.</p>
+</li>
+<li>
+<p>Multiple themes can be defined, however only the first _default_theme will be used for the service.</p>
+</li>
+<li>
+<p>Each theme points to a theme JSON file (via _fileName_element) in the _themes-dir_folder.</p>
+</li>
+<li>
+<p>The _theme.json_file contains one _configuration_block containing three main keys</p>
+</li>
+<li>
+<p><em>layouts</em>- specify tabs, sections and sub-section layout</p>
+</li>
+<li>
+<p><em>placement</em>- specify configurations to place in sub-sections</p>
+</li>
+<li>
+<p><em>widgets</em>- specify which UI widgets to use for each config</p>
+</li>
+</ol>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">  </span><br></span><span cla [...]
+<ol start="6">
+<li>Layouts - Multiple layouts can be defined in a theme. Currently only the first layout will be used while rendering. A <em>layout</em> has following content:</li>
+<li>Tabs: Multiple tabs can be defined in a layout. Each tab can have its contents laid out using a simple grid-layout using the _tab-columns_and _tab-rows_keys.</li>
+</ol>
+<p>In below example the _Settings_tab has a grid of 3 rows and 2 columns in which sections can be placed.</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token property" style="color:#36acaa">&quot;layouts&quot;</span><span class="token operator" style="colo [...]
+<ol start="2">
+<li>Sections: Each section is defined inside a tab and specifies its location and size inside the tab&#x27;s grid-layout by using the <em>row-index</em>, <em>column-index</em>, _row-span_and _column-span_keys. Being a container itself, it can further define a grid-layout for the sub-sections it contains using the _section-rows_and _section-columns_keys.</li>
+</ol>
+<p>In below example the _MapReduce_section occupies the first cell of the _Settings_tab grid, and itself has a grid-layout of 1 row and 3 columns.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;sections&quot;: [  {    &quot;name&quot;: &quot;section-mr-scheduler&quot;,    &quot;display-name&q [...]
+<ol start="3">
+<li>Sub-sections: Each sub-section is defined inside a section and specifies its location and size inside the section&#x27;s grid-layout using the <em>row-index</em>, <em>column-index</em>, _row-span_and _column-span_keys. Each section also has an optional _border_boolean key which tells if a border should encapsulate its content.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;subsections&quot;: [  {    &quot;name&quot;: &quot;subsection-mr-scheduler-row1-col1&quot;,    &quo [...]
+<ol start="7">
+<li>Placement: Specifies the order of configurations that are to be placed into each sub-section. Each placement identifies a config, and which sub-section it should appear in. The placement specifies which layout it applies to using the _configuration-layout_key.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;placement&quot;: {  &quot;configuration-layout&quot;: &quot;default&quot;,  &quot;configs&quot;: [  [...]
+<ol start="8">
+<li>Wigets: The widgets array specifies which UI widget should be used to show a specific config. It also contains extra UI specific metadata required to show the widget.</li>
+</ol>
+<p>In the example below, both configs are using the slider widget. However the unit varies, resulting in one config being shown in bytes and another being shown as percentage. This unit is purely for showing a config - which is different from the units in which it is actually persisted in Ambari. For example, the percent unit below maybe persisted as a <em>float</em>, while the MB config below can be persisted in B (bytes).</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;widgets&quot;: [  {    &quot;config&quot;: &quot;yarn-site/yarn.nodemanager.resource.memory-mb&quot [...]
+<p>For a complete reference to what UI widgets are available and what metadata can be specified per widget, please refer to <em>Appendix A</em>.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-2---annotate-stack-configs-non-ui-metadata">Step 2 - Annotate stack configs (Non-UI Metadata)<a href="#step-2---annotate-stack-configs-non-ui-metadata" class="hash-link" aria-label="Direct link to Step 2 - Annotate stack configs (Non-UI Metadata)" title="Direct link to Step 2 - Annotate stack configs (Non-UI Metadata)">​</a></h3>
+<p>Each configuration that is used by the service&#x27;s theme has to provide extra metadata about the configuration. The list of available metadata are:</p>
+<ul>
+<li>display-name</li>
+<li>value-attributes<!-- -->
+<ul>
+<li>type<!-- -->
+<ul>
+<li>string</li>
+<li>value-list</li>
+<li>float</li>
+<li>int</li>
+<li>boolean</li>
+</ul>
+</li>
+<li>minimum</li>
+<li>maximum</li>
+<li>unit</li>
+<li>increment-step</li>
+<li>entries<!-- -->
+<ul>
+<li>entry<!-- -->
+<ul>
+<li>value</li>
+<li>description</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>depends-on<!-- -->
+<ul>
+<li>property<!-- -->
+<ul>
+<li>type</li>
+<li>name</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<p>The value-attributes provide meta information about the value that can used as hints by the appropriate widget. For example the slider widget can make use of the minimum and maximum values in its working.</p>
+<p>Examples:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">prop [...]
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">prop [...]
+<p>The depends-on is useful in building a dependency graph between different configs in Ambari. Ambari uses these bi-directional relationships (depends-on and depended-by) to automatically update dependent configs using the stack-advisor functionality in Ambari.</p>
+<p>Dependencies between configurations is a directed-acyclic-graph (DAG). When a configuration is updated, the UI has to determine its effect on other configs in the graph. To determine this, the /recommendations_endpoint should be provided an array of what configurations have been just changed in the changed_configurations field. Based on the provided changed-configs, only its dependencies are updated in the response.</p>
+<p>Example:</p>
+<p>Figure below shows some config dependencies - A effects B and C, each of which effects DE and FG respectively.</p>
+<p><img decoding="async" loading="lazy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALsAAADDCAYAAADa4WDGAAAAAXNSR0IArs4c6QAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllb [...]
+<p>Now assume user changes B to B&#x27; - a call to <em>/</em> _recommendations_will only change D and E to D&#x27; and E&#x27; respectively (AB&#x27;CD&#x27;E&#x27;FG). No other config will be changed. Now assume that C is changed to C&#x27; -/recommendations will only change F and G to F&#x27; and G&#x27; while still keeping the values of B&#x27; D&#x27; E&#x27; intact (AB&#x27;C&#x27;D&#x27;E&#x27;F&#x27;G&#x27;). Now if you change A to A&#x27;, it will affect all its children (A&#x27 [...]
+<p>The call to <em>/recommendations</em> happens whenever a configuration with dependencies is changed. The POST call has the action configuration-dependencies - which will only change the configurations and its dependencies identified by the changed_configurations field.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-3---restart-ambari-server">Step 3 - Restart Ambari server<a href="#step-3---restart-ambari-server" class="hash-link" aria-label="Direct link to Step 3 - Restart Ambari server" title="Direct link to Step 3 - Restart Ambari server">​</a></h3>
+<p>Restarting ambari-server is required for any changes in the themes or the stack-definition to be loaded.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="reference">Reference<a href="#reference" class="hash-link" aria-label="Direct link to Reference" title="Direct link to Reference">​</a></h2>
+<ul>
+<li>HDFS HDP-2.2 <a href="https://github.com/apache/ambari/blob/branch-2.1.2/ambari-server/src/main/resources/stacks/HDP/2.2/services/HDFS/themes/theme.json" target="_blank" rel="noopener noreferrer">theme.json</a></li>
+<li>YARN HDP-2.2 <a href="https://github.com/apache/ambari/blob/branch-2.1.2/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes/theme.json" target="_blank" rel="noopener noreferrer">theme.json</a></li>
+<li>HIVE HDP-2.2 <a href="https://github.com/apache/ambari/blob/branch-2.1.2/ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/themes/theme.json" target="_blank" rel="noopener noreferrer">theme.json</a></li>
+<li>RANGER HDP-2.3 <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/themes/theme_version_2.json" target="_blank" rel="noopener noreferrer">theme_version_2.json</a></li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="appendix">Appendix<a href="#appendix" class="hash-link" aria-label="Direct link to Appendix" title="Direct link to Appendix">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="appendix-a---widget-non-ui-metadata">Appendix A - Widget Non-UI Metadata<a href="#appendix-a---widget-non-ui-metadata" class="hash-link" aria-label="Direct link to Appendix A - Widget Non-UI Metadata" title="Direct link to Appendix A - Widget Non-UI Metadata">​</a></h3>
+<table><tr><th>Widget</th><th>Metadata Used</th></tr><tr><td>Slider</td><td><p>&lt;value-attributes&gt;<br>
+&lt;type&gt;int&lt;/type&gt;<br>
+&lt;minimum&gt;1073741824&lt;/minimum&gt;<br>
+&lt;maximum&gt;17179869184&lt;/maximum&gt;<br>
+&lt;unit&gt;B&lt;/unit&gt;<br>
+&lt;increment-step&gt;1073741824&lt;/increment-step&gt;<br>
+&lt;/value-attributes&gt;</p></td></tr><tr><td>Combo</td><td><p>&lt;value-attributes&gt; <br>
+&lt;type&gt;value-list&lt;/type&gt;<br>
+&lt;entries&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;2&lt;/value&gt;<br>
+&lt;/entry&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;4&lt;/value&gt;<br>
+&lt;/entry&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;8&lt;/value&gt;<br>
+&lt;/entry&gt;<br>
+&lt;/entries&gt;<br>
+&lt;selection-cardinality&gt;1&lt;/selection-cardinality&gt;<br>
+&lt;/value-attributes&gt;</p></td></tr><tr><td>Directory, Directories, Password, Text Field, Text Area</td><td>No value-attributes required</td></tr><tr><td>List</td><td><p>&lt;value-attributes&gt;                                          <br>
+&lt;type&gt;value-list&lt;/type&gt;<br>
+&lt;entries&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;2&lt;/value&gt;<br>
+&lt;/entry&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;4&lt;/value&gt;<br>
+&lt;/entry&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;8&lt;/value&gt;<br>
+&lt;/entry&gt;<br>
+&lt;/entries&gt;<br>
+&lt;selection-cardinality&gt;2+&lt;/selection-cardinality&gt;<br>
+&lt;/value-attributes&gt;<br></p></td></tr><tr><td>Radio-Buttons</td><td><p>&lt;value-attributes&gt;                                    <br>
+&lt;type&gt;value-list&lt;/type&gt;<br>
+&lt;entries&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;1&lt;/value&gt;<br>
+&lt;label&gt;Radio Option 1&lt;/label&gt;<br>
+&lt;/entry&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;2&lt;/value&gt;<br>
+&lt;label&gt;Radio Option 2&lt;/label&gt;<br>
+&lt;/entry&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;3&lt;/value&gt;<br>
+&lt;label&gt;Radio Option 3&lt;/label&gt;<br>
+&lt;/entry&gt;<br>
+&lt;/entries&gt;<br>
+&lt;selection-cardinality&gt;1&lt;/selection-cardinality&gt;<br>
+&lt;/value-attributes&gt;</p></td></tr><tr><td>Time Interval Spinner</td><td><p>&lt;value-attributes&gt;                   <br>
+&lt;type&gt;int&lt;/type&gt;<br>
+&lt;minimum&gt;0&lt;/minimum&gt;<br>
+&lt;maximum&gt;2592000000&lt;/maximum&gt;<br>
+&lt;unit&gt;milliseconds&lt;/unit&gt;<br>
+&lt;/value-attributes&gt;</p></td></tr><tr><td>Toggle, Checkbox</td><td><p>&lt;value-attributes&gt;<br>
+<!-- -->&lt;type&gt;value-list&lt;/type&gt;<br>
+&lt;entries&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;true&lt;/value&gt;<br>
+&lt;label&gt;Native&lt;/label&gt;<br>
+&lt;/entry&gt;<br>
+&lt;entry&gt;<br>
+&lt;value&gt;false&lt;/value&gt;<br>
+&lt;label&gt;Off&lt;/label&gt;<br>
+&lt;/entry&gt;<br>
+&lt;/entries&gt;<br>
+&lt;selection-cardinality&gt;1&lt;/selection-cardinality&gt;<br>
+&lt;/value-attributes&gt;</p></td></tr></table></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/enhanced-configs/index.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidde [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/index.html b/docs/2.7.5/ambari-design/index.html
index 793c556..72c3a16 100644
--- a/docs/2.7.5/ambari-design/index.html
+++ b/docs/2.7.5/ambari-design/index.html
@@ -1,16 +1,21 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/index">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/index" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Ambari Design | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" c [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Ambari Design | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" conten [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>Ambari Architecture: <a href="https://issues.apache.org/jira/secure/attachment/12559939/Ambari_Architecture.pdf" target="_blank" rel="noopener noreferrer">https://issues.apache.org/jira/secure/attachment/12559939/Ambari_Architecture.pdf</a></p>
+<p>Ambari Server-Agent Registration Flow: <a href="http://www.slideshare.net/hortonworks/ambari-agentregistrationflow-17041261" target="_blank" rel="noopener noreferrer">http://www.slideshare.net/hortonworks/ambari-agentregistrationflow-17041261</a></p>
+<p>Ambari Local Repository Setup: <a href="http://www.slideshare.net/hortonworks/ambari-using-a-local-repository" target="_blank" rel="noopener noreferrer">http://www.slideshare.net/hortonworks/ambari-using-a-local-repository</a></p>
+<p>API Documentation: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/index.md" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/index.md</a></p>
+<p>Technology Stack: <a href="/docs/2.7.5/ambari-design/technology-stack">Technology Stack</a></p>
+<p>Integration: <a href="http://developer.teradata.com/viewpoint/articles/viewpoint-integration-with-apache-ambari-for-hadoop-monitoring" target="_blank" rel="noopener noreferrer">http://developer.teradata.com/viewpoint/articles/viewpoint-integration-with-apache-ambari-for-hadoop-monitoring</a></p>
+<!-- -->
+<section class="row"><article class="col col--6 margin-bottom--lg"><a class="card padding--lg cardContainer_fWXF" href="/docs/2.7.5/ambari-design/alerts"><h2 class="text--truncate cardTitle_rnsV" title="Alerts">📄️<!-- --> <!-- -->Alerts</h2><p class="text--truncate cardDescription_PWke" title="WEB and METRIC alert types include a connectiontimeout property on the alert definition (see below in AlertDefinition uri : connectiontimeout). This value is in seconds and defaults to 5.0. Use the [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/kerberos/enabling_kerberos/index.html b/docs/2.7.5/ambari-design/kerberos/enabling_kerberos/index.html
index 898e034..e698db9 100644
--- a/docs/2.7.5/ambari-design/kerberos/enabling_kerberos/index.html
+++ b/docs/2.7.5/ambari-design/kerberos/enabling_kerberos/index.html
@@ -1,31 +1,186 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/kerberos/enabling_kerberos">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/kerberos/enabling_kerberos" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Enabling Kerberos | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/kerberos/enabling_kerberos"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="tru [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Enabling Kerberos | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/kerberos/enabling_kerberos"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" na [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-or using the REST API.</p><a name="the-enable-kerberos-wizard"></a><h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-enable-kerberos-wizard">The Enable Kerberos Wizard<a class="hash-link" href="#the-enable-kerberos-wizard" title="Direct link to heading">​</a></h3><p>The <em>Enable Kerberos Wizard</em>, in the Ambari UI, provides an easy to use wizard interface that walks
-through the process of enabling Kerberos.</p><a name="the-rest-api"></a><h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-rest-api">The REST API<a class="hash-link" href="#the-rest-api" title="Direct link to heading">​</a></h3><p>It is possible to enable Kerberos using Ambari&#x27;s REST API using the following API calls:</p><p><strong><em>Notes:</em></strong></p><ul><li>Change the authentication credentials as needed<ul><li><code>curl ... -u username:password ...</code></li><li>The [...]
-for the KDC administrator account</p><p><strong><em>Note:</em></strong> the <code>type</code> value may be <code>temporary</code> or <code>persisted</code>; however the value may only be <code>persisted</code>
-if Ambari&#x27;s credential store has been previously setup.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="enable-kerberos">Enable Kerberos<a class="hash-link" href="#enable-kerberos" title="Direct link to heading">​</a></h4><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLine [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<li><a href="/docs/2.7.5/kerberos">Introduction</a></li>
+<li><a href="/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor">The Kerberos Descriptor</a></li>
+<li><a href="/docs/2.7.5/ambari-design/kerberos/kerberos_service">The Kerberos Service</a></li>
+<li><a href="#enabling-kerberos">Enabling Kerberos</a>
+<ul>
+<li><a href="#the-enable-kerberos-wizard">The Enable Kerberos Wizard</a></li>
+<li><a href="#the-rest-api">The REST API</a></li>
+<li><a href="#miscellaneous-technical-information">Miscellaneous Technical Information</a>
+<ul>
+<li><a href="#password-generation">Password Generation</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<a name="enabling-kerberos"></a>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enabling-kerberos">Enabling Kerberos<a href="#enabling-kerberos" class="hash-link" aria-label="Direct link to Enabling Kerberos" title="Direct link to Enabling Kerberos">​</a></h2>
+<p>Enabling Kerberos on the cluster may be done using the <em>Enable Kerberos Wizard</em> within the Ambari UI
+or using the REST API.</p>
+<a name="the-enable-kerberos-wizard"></a>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-enable-kerberos-wizard">The Enable Kerberos Wizard<a href="#the-enable-kerberos-wizard" class="hash-link" aria-label="Direct link to The Enable Kerberos Wizard" title="Direct link to The Enable Kerberos Wizard">​</a></h3>
+<p>The <em>Enable Kerberos Wizard</em>, in the Ambari UI, provides an easy to use wizard interface that walks
+through the process of enabling Kerberos.</p>
+<a name="the-rest-api"></a>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-rest-api">The REST API<a href="#the-rest-api" class="hash-link" aria-label="Direct link to The REST API" title="Direct link to The REST API">​</a></h3>
+<p>It is possible to enable Kerberos using Ambari&#x27;s REST API using the following API calls:</p>
+<p><strong><em>Notes:</em></strong></p>
+<ul>
+<li>Change the authentication credentials as needed<!-- -->
+<ul>
+<li><code>curl ... -u username:password ...</code></li>
+<li>The examples below use<!-- -->
+<ul>
+<li>username: admin</li>
+<li>password: admin</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>Change the Ambari server host name and port as needed<!-- -->
+<ul>
+<li><code>curl ... http://HOST:PORT/api/v1/...</code></li>
+<li>The examples below use<!-- -->
+<ul>
+<li>HOST:  AMBARI_SERVER</li>
+<li>PORT: 8080</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>Change the cluster name as needed<!-- -->
+<ul>
+<li><code>curl ... http://.../CLUSTER/...</code></li>
+<li>The examples below use<!-- -->
+<ul>
+<li>CLUSTER:  CLUSTER_NAME</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>@./payload indicates the the payload data is stored in some file rather than declared inline<!-- -->
+<ul>
+<li><code>curl ... -d @./payload ...</code></li>
+<li>The examples below use <code>./payload</code> which should be replace with the actual file path</li>
+<li>The contents of the payload file are indicated below the curl statement</li>
+</ul>
+</li>
+</ul>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="add-the-kerberos-service-to-cluster">Add the KERBEROS Service to cluster<a href="#add-the-kerberos-service-to-cluster" class="hash-link" aria-label="Direct link to Add the KERBEROS Service to cluster" title="Direct link to Add the KERBEROS Service to cluster">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X POST http://AMBARI_SERVER:8080/api/v1/clus [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="add-the-kerberos_client-component-to-the-kerberos-service">Add the KERBEROS_CLIENT component to the KERBEROS service<a href="#add-the-kerberos_client-component-to-the-kerberos-service" class="hash-link" aria-label="Direct link to Add the KERBEROS_CLIENT component to the KERBEROS service" title="Direct link to Add the KERBEROS_CLIENT component to the KERBEROS service">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X POST http://AMBARI_SERVER:8080/api/v1/clus [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="create-and-set-kerberos-service-configurations">Create and set KERBEROS service configurations<a href="#create-and-set-kerberos-service-configurations" class="hash-link" aria-label="Direct link to Create and set KERBEROS service configurations" title="Direct link to Create and set KERBEROS service configurations">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X PUT -d @./payload http://AMBARI_SERVER:808 [...]
+<p>Example payload when using an MIT KDC:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  {</span><br [...]
+<p>Example payload when using an Active Directory:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  {</span><br [...]
+<p>Example payload when using IPA:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  {</span><br [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="create-the-kerberos_client-host-components">Create the KERBEROS_CLIENT host components<a href="#create-the-kerberos_client-host-components" class="hash-link" aria-label="Direct link to Create the KERBEROS_CLIENT host components" title="Direct link to Create the KERBEROS_CLIENT host components">​</a></h4>
+<p><em>Once for each host, replace HOST_NAME</em></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X POST -d &#x27;{&quot;host_components&quot; [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="install-the-kerberos-service-and-components">Install the KERBEROS service and components<a href="#install-the-kerberos-service-and-components" class="hash-link" aria-label="Direct link to Install the KERBEROS service and components" title="Direct link to Install the KERBEROS service and components">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X PUT -d &#x27;{&quot;ServiceInfo&quot;: {&q [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="stop-all-services">Stop all services<a href="#stop-all-services" class="hash-link" aria-label="Direct link to Stop all services" title="Direct link to Stop all services">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X PUT -d  &#x27;{&quot;RequestInfo&quot;:{&q [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="get-the-default-kerberos-descriptor">Get the default Kerberos Descriptor<a href="#get-the-default-kerberos-descriptor" class="hash-link" aria-label="Direct link to Get the default Kerberos Descriptor" title="Direct link to Get the default Kerberos Descriptor">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X GET http://AMBARI_SERVER:8080/api/v1/stack [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="get-the-customized-kerberos-descriptor-if-previously-set">Get the customized Kerberos Descriptor (if previously set)<a href="#get-the-customized-kerberos-descriptor-if-previously-set" class="hash-link" aria-label="Direct link to Get the customized Kerberos Descriptor (if previously set)" title="Direct link to Get the customized Kerberos Descriptor (if previously set)">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X GET http://AMBARI_SERVER:8080/api/v1/clust [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="set-the-kerberos-descriptor">Set the Kerberos Descriptor<a href="#set-the-kerberos-descriptor" class="hash-link" aria-label="Direct link to Set the Kerberos Descriptor" title="Direct link to Set the Kerberos Descriptor">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X POST -d @./payload http://AMBARI_SERVER:80 [...]
+<p>Payload:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  &quot;artif [...]
+<p><strong><em>Note:</em></strong> The Kerberos Descriptor payload may be a complete Kerberos Descriptor or just the updates to overlay on top of the default Kerberos Descriptor.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="set-the-kdc-administrator-credentials">Set the KDC administrator credentials<a href="#set-the-kdc-administrator-credentials" class="hash-link" aria-label="Direct link to Set the KDC administrator credentials" title="Direct link to Set the KDC administrator credentials">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X POST -d @./payload http://AMBARI_SERVER:80 [...]
+<p>Payload:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  &quot;Crede [...]
+<p><strong><em>Note:</em></strong> the <em>principal</em> and <em>key</em> (password) values should be updated to match the correct credentials
+for the KDC administrator account</p>
+<p><strong><em>Note:</em></strong> the <code>type</code> value may be <code>temporary</code> or <code>persisted</code>; however the value may only be <code>persisted</code>
+if Ambari&#x27;s credential store has been previously setup.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="enable-kerberos">Enable Kerberos<a href="#enable-kerberos" class="hash-link" aria-label="Direct link to Enable Kerberos" title="Direct link to Enable Kerberos">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X PUT -d @./payload http://AMBARI_SERVER:808 [...]
+<p>Payload</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  &quot;Clust [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="start-all-services">Start all services<a href="#start-all-services" class="hash-link" aria-label="Direct link to Start all services" title="Direct link to Start all services">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -H &quot;X-Requested-By:ambari&quot; -u admin:admin -i -X PUT -d &#x27;{&quot;ServiceInfo&quot;: {&q [...]
+<a name="miscellaneous-technical-information"></a>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="miscellaneous-technical-information">Miscellaneous Technical Information<a href="#miscellaneous-technical-information" class="hash-link" aria-label="Direct link to Miscellaneous Technical Information" title="Direct link to Miscellaneous Technical Information">​</a></h3>
+<a name="password-generation"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="password-generation">Password Generation<a href="#password-generation" class="hash-link" aria-label="Direct link to Password Generation" title="Direct link to Password Generation">​</a></h4>
+<p>When enabling Kerberos using an Active Directory, Ambari must use an internal mechanism to build
 the keytab files. This is because keytab files cannot be requested remotely from an Active Directory.
 In order to create keytab files, Ambari needs to know the password for each relevant Kerberos
-identity.  Therefore, Ambari sets or updates the identity&#x27;s password as needed.</p><p>The password for each Ambari-managed account in an Active Directory is randomly generated and
+identity.  Therefore, Ambari sets or updates the identity&#x27;s password as needed.</p>
+<p>The password for each Ambari-managed account in an Active Directory is randomly generated and
 stored only long enough in memory to set the account&#x27;s password and generate the keytab file.<br>
-<!-- -->Passwords are generated using the following user-settable parameters:</p><ul><li>Password length (<code>kerberos-env/password_length</code>)<ul><li>Default Value: 20</li></ul></li><li>Minimum number of lower-cased letters (<code>kerberos-env/password_min_lowercase_letters</code>)<ul><li>Default Value:  1</li><li>Character Set: <code>abcdefghijklmnopqrstuvwxyz</code></li></ul></li><li>Minimum number of upper-cased letters (<code>kerberos-env/password_min_uppercase_letters</code>)< [...]
-minimum number of characters from the relevant character set and store them in the array</li><li>For the number of characters calculated as the difference between the expected password length and
+<!-- -->Passwords are generated using the following user-settable parameters:</p>
+<ul>
+<li>Password length (<code>kerberos-env/password_length</code>)<!-- -->
+<ul>
+<li>Default Value: 20</li>
+</ul>
+</li>
+<li>Minimum number of lower-cased letters (<code>kerberos-env/password_min_lowercase_letters</code>)<!-- -->
+<ul>
+<li>Default Value:  1</li>
+<li>Character Set: <code>abcdefghijklmnopqrstuvwxyz</code></li>
+</ul>
+</li>
+<li>Minimum number of upper-cased letters (<code>kerberos-env/password_min_uppercase_letters</code>)<!-- -->
+<ul>
+<li>Default Value: 1</li>
+<li>Character Set: <code>ABCDEFGHIJKLMNOPQRSTUVWXYZ</code></li>
+</ul>
+</li>
+<li>Minimum number of digits (<code>kerberos-env/password_min_digits</code>)<!-- -->
+<ul>
+<li>Default Value: 1</li>
+<li>Character Set: <code>1234567890</code></li>
+</ul>
+</li>
+<li>Minimum number of punctuation characters (<code>kerberos-env/password_min_punctuation</code>)<!-- -->
+<ul>
+<li>Default Value: 1</li>
+<li>Character Set: <code>?.!$%^*()-_+=~</code></li>
+</ul>
+</li>
+<li>Minimum number of whitespace characters (<code>kerberos-env/password_min_whitespace</code>)<!-- -->
+<ul>
+<li>Default Value: 0</li>
+<li>Character Set: <code>(space character)</code></li>
+</ul>
+</li>
+</ul>
+<p>The following algorithm is executed:</p>
+<ol>
+<li>Create an array to store password characters</li>
+<li>For each character class (upper-case letter, lower-case letter, digit, ...), randomly select the
+minimum number of characters from the relevant character set and store them in the array</li>
+<li>For the number of characters calculated as the difference between the expected password length and
 the number of characters already collected, randomly select a character from a randomly-selected character
-class and store it into the array</li><li>For the number of characters expected in the password, randomly pull one from the array and append
-to the password result</li><li>Return the generated password</li></ol><p>To generate a random integer used to identify an index within a character set, a static instance of
+class and store it into the array</li>
+<li>For the number of characters expected in the password, randomly pull one from the array and append
+to the password result</li>
+<li>Return the generated password</li>
+</ol>
+<p>To generate a random integer used to identify an index within a character set, a static instance of
 the <code>java.security.SecureRandom</code> class (<a href="http://docs.oracle.com/javase/7/docs/api/java/security/SecureRandom.html" target="_blank" rel="noopener noreferrer">http://docs.oracle.com/javase/7/docs/api/java/security/SecureRandom.html</a>)
-is used.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/kerberos/enabling_kerberos.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+is used.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/kerberos/enabling_kerberos.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7 [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor/index.html b/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor/index.html
index 1a23021..432f90d 100644
--- a/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor/index.html
+++ b/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor/index.html
@@ -1,127 +1,202 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/kerberos/kerberos_descriptor">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/kerberos/kerberos_descriptor" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">The Kerberos Descriptor | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">The Kerberos Descriptor | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh=" [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-or disable Kerberos for a stack and its services. This file must be named <strong><em>kerberos.json</em></strong> and should
-be in the root directory of the relevant stack or service definition. Kerberos Descriptors are meant to
-be hierarchical such that details in the stack-level descriptor can be overwritten (or updated) by details
-in the service-level descriptors.</p><p>For the services in a stack to be Kerberized, there must be a stack-level Kerberos Descriptor. This
-ensures that even if a common service has a Kerberos Descriptor, it may not be Kerberized unless the
-relevant stack indicates that supports Kerberos by having a stack-level Kerberos Descriptor.</p><p>For a component of a service to be Kerberized, there must be an entry for it in its containing service&#x27;s
-service-level descriptor. This allows for some of a services&#x27; components to be managed and other
-components of that service to be ignored by the automated Kerberos facility.</p><p>Kerberos Descriptors are inherited from the base stack or service, but may be overridden as a full
-descriptor - partial descriptors are not allowed.</p><p>A complete descriptor (which is built using the stack-level descriptor, the service-level descriptors,
-and any updates from user input) has the following structure:</p><ul><li>Stack-level Properties</li><li>Stack-level Identities</li><li>Stack-level Configurations</li><li>Stack-level Auth-to-local-properties</li><li>Services<ul><li>Service-level Identities</li><li>Service-level Auth-to-local-properties</li><li>Service-level Configurations</li><li>Components<ul><li>Component-level Identities</li><li>Component-level Auth-to-local-properties</li><li>Component-level Configurations</li></ul></ [...]
-if necessary. For example, a component will inherit the configurations and identities of its container
-service; which in turn inherits the configurations and identities from the stack.</p><a name="components-of-a-kerberos-descriptor"></a><h3 class="anchor anchorWithStickyNavbar_LWe7" id="components-of-a-kerberos-descriptor">Components of a Kerberos Descriptor<a class="hash-link" href="#components-of-a-kerberos-descriptor" title="Direct link to heading">​</a></h3><a name="stack-level-properties"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-properties">Stack-level Prop [...]
-For example, if a property named &quot;<strong><em>property1</em></strong>&quot; exists with the value of &quot;<strong><em>value1</em></strong>&quot;, then any instance of
-&quot;<strong><em>${property1}</em></strong>&quot; within a configuration property name or configuration property value will be replaced
-with &quot;<strong><em>value1</em></strong>&quot;.</p><p>This property is only relevant in the stack-level Kerberos Descriptor and may not be overridden by
-lower-level descriptors.</p><p>See <a href="#properties">properties</a>.</p><a name="stack-level-identities"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-identities">Stack-level Identities<a class="hash-link" href="#stack-level-identities" title="Direct link to heading">​</a></h4><p>Stack-level identities is an optional identities block containing a list of zero or more identity
-descriptors that are common among all services in the stack. An example of such an identity is the
-Ambari smoke test user, which is used by all services to perform service check operations. Service-
-and component-level identities may reference (and specialize) stack-level identities using the
-identity’s name with a forward slash (/) preceding it. For example if there was a stack-level identity
-with the name &quot;smokeuser&quot;, then a service or a component may create an identity block that references
-and specializes it by declaring a &quot;<strong><em>reference</em></strong>&quot; property and setting it to &quot;/smokeuser&quot;.  Within
-this identity block details of the identity may be and overwritten as necessary. This does not alter
-the stack-level identity, it essentially creates a copy of it and updates the copy&#x27;s properties.</p><p>See <a href="#identities">identities</a>.</p><a name="stack-level-auth-to-local-properties"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-auth-to-local-properties">Stack-level Auth-to-local-properties<a class="hash-link" href="#stack-level-auth-to-local-properties" title="Direct link to heading">​</a></h4><p>Stack-level auth-to-local-properties is an optional l [...]
-specifications <code>(config-type/property_name[|concatenation_scheme])</code> indicating which properties should
-be updated with dynamically generated auto-to-local rule sets.</p><p>See <a href="#auth-to-local-properties">auth-to-local-properties</a>.</p><a name="stack-level-configurations"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-configurations">Stack-level Configurations<a class="hash-link" href="#stack-level-configurations" title="Direct link to heading">​</a></h4><p>Stack-level configurations is an optional configurations block containing a list of zero or more
-configuration descriptors that are common among all services in the stack. Configuration descriptors
-are overridable due to the structure of the data.  However, overriding configuration properties may
-create undesired behavior since it is not known until after the Kerberization process is complete
-what value a property will have.</p><p>See <a href="#configurations">configurations</a>.</p><a name="services"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="services">Services<a class="hash-link" href="#services" title="Direct link to heading">​</a></h4><p>Services is a list of zero or more service descriptors. A stack-level Kerberos Descriptor should not
-list any services; however a service-level Kerberos Descriptor should contain at least one.</p><p>See <a href="#services">services</a>.</p><a name="service-level-identities"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="service-level-identities">Service-level Identities<a class="hash-link" href="#service-level-identities" title="Direct link to heading">​</a></h4><p>Service-level identities is an optional identities block containing a list of zero or more identity
-descriptors that are common among all components of the service. Component-level identities may
-reference (and specialize) service-level identities by specifying a relative or an absolute path
-to it.</p><p>For example if there was a service-level identity with the name &quot;service_identity&quot;, then a child
-component may create an identity block that references and specializes it by setting its &quot;reference&quot;
-attribute to &quot;../service_identity&quot; or &quot;/service_name/service_identity&quot; and overriding any values as
-necessary. This does not override the service-level identity, it essentially creates a copy of it and
-updates the copy&#x27;s properties.</p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a class="hash-link" href="#examples" title="Direct link to heading">​</a></h5><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color: [...]
-any other service or component.</p><p>See <a href="#identities">identities</a>.</p><a name="service-level-auth-to-local-properties"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="service-level-auth-to-local-properties">Service-level Auth-to-local-properties<a class="hash-link" href="#service-level-auth-to-local-properties" title="Direct link to heading">​</a></h4><p>Service-level auth-to-local-properties is an optional list of zero or more configuration property
-specifications <code>(config-type/property_name[|concatenation_scheme])</code> indicating which properties should
-be updated with dynamically generated auto-to-local rule sets.</p><p>See <a href="#auth-to-local-properties">auth-to-local-properties</a>.</p><a name="service-level-configurations"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="service-level-configurations">Service-level Configurations<a class="hash-link" href="#service-level-configurations" title="Direct link to heading">​</a></h4><p>Service-level configurations is an optional configurations block listing of zero or more configuration
-descriptors that are common among all components within a service. Configuration descriptors may be
-overridden due to the structure of the data. However, overriding configuration properties may create
-undesired behavior since it is not known until after the Kerberization process is complete what value
-a property will have.</p><p>See <a href="#configurations">configurations</a>.</p><a name="service-components"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="components">Components<a class="hash-link" href="#components" title="Direct link to heading">​</a></h4><p>Components is a list of zero or more component descriptor blocks.</p><p>See <a href="#components">components</a>.</p><a name="component-level-identities"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="component-le [...]
-descriptors that are specific to the component. A Component-level identity may be referenced
-(and specialized) by using the absolute path to it (<code>/service_name/component_name/identity_name</code>).
-This does not override the component-level identity, it essentially creates a copy of it and updates
-the copy&#x27;s properties.</p><p>See <a href="#identities">identities</a>.</p><a name="component-level-auth-to-local-properties"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="component-level-auth-to-local-properties">Component-level Auth-to-local-properties<a class="hash-link" href="#component-level-auth-to-local-properties" title="Direct link to heading">​</a></h4><p>Component-level auth-to-local-properties is an optional list of zero or more configuration property
-specifications <code>(config-type/property_name[|concatenation_scheme])</code> indicating which properties should
-be updated with dynamically generated auto-to-local rule sets.</p><p>See <a href="#auth-to-local-properties">auth-to-local-properties</a>.</p><a name="component-level-configurations"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="component-level-configurations">Component-level Configurations<a class="hash-link" href="#component-level-configurations" title="Direct link to heading">​</a></h4><p>Component-level configurations is an optional configurations block listing zero or more  [...]
-descriptors that are specific to the component.</p><p>See <a href="#configurations">configurations</a>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="descriptor-specifications">Descriptor Specifications<a class="hash-link" href="#descriptor-specifications" title="Direct link to heading">​</a></h3><a name="properties"></a><h4 class="anchor anchorWithStickyNavbar_LWe7" id="properties">properties<a class="hash-link" href="#properties" title="Direct link to heading">​</a></h4><p>The  [...]
-a set of name/value pairs as follows:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;properties&quot; : {</span><br></span><span class="token-line" style="color:#393A34"><span class="token p [...]
-descriptors. This block is a list of configuration specifications
-(<code>config-type/property_name[|concatenation_scheme]</code>) indicating which properties contain
-auth-to-local rules that should be dynamically updated based on the identities used within the
-Kerberized cluster.</p><p>The specification optionally declares the concatenation scheme to use to append
-the rules into a rule set value. If specified one of the following schemes may be set:</p><ul><li><strong><code>new_lines</code></strong> - rules in the rule set are separated by a new line (<code>\n</code>)</li><li><strong><code>new_lines_escaped</code></strong> - rules in the rule set are separated by a <code>\</code> and a new line (<code>\n</code>)</li><li><strong><code>spaces</code></strong> - rules in the rule set are separated by a whitespace character (effectively placing all rul [...]
-This block is a list of one or more configuration blocks containing a single structure named using
-the configuration type and containing values for each relevant property.</p><p>Each property name and value may be a concrete value or contain variables to be replaced using values
-from the stack-level <code>properties</code> block or any available configuration. Properties from the <code>properties</code>
-block are referenced by name (<code>${property_name}</code>), configuration properties are reference by
-configuration specification (<code>${config-type/property_name}</code>) and kerberos principals are referenced by the principal path
-(<code>principals/SERVICE/COMPONENT/principal_name</code>).</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;configurations&quot; : [</span><br></span><span class="token-line" style="color:#39 [...]
-effectively be translated to</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;configurations&quot; : [</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" [...]
-is a list of zero or more identity descriptors. Each identity descriptor is a block containing a <code>name</code>,
-an optional <code>reference</code> identifier, an optional <code>principal</code> descriptor, and an optional <code>keytab</code>
-descriptor.</p><p>The <code>name</code> property of an <code>identity</code> descriptor should be a concrete name that is unique with in its
-<code>local</code> scope (stack, service, or component). However, to maintain backwards-compatibility with
-previous versions of Ambari, it may be a reference identifier to some other identity in the
-Kerberos Descriptor. This feature is deprecated and may not be available in future versions of Ambari.</p><p>The <code>reference</code> property of an <code>identitiy</code> descriptor is optional. If it exists, it indicates that the
-properties from referenced identity is to be used as the base for the current identity and any properties
-specified in the local identity block overrides the base data. In this scenario, the base data is copied
-to the local identities and therefore changes are realized locally, not globally. Referenced identities
-may be hierarchical, so a referenced identity may reference another identity, and so on.  Because of
-this, care must be taken not to create cyclic references. Reference values must be in the form of a
-relative or absolute <em>path</em> to the referenced identity descriptor. Relative <em>paths</em> start with a <code>../</code>
-and may be specified in component-level identity descriptors to reference an identity descriptor
-in the parent service. Absolute <em>paths</em> start with a <code>/</code> and may be specified at any level as follows:</p><ul><li><strong>Stack-level</strong> identity reference: <code>/identitiy_name</code></li><li><strong>Service-level</strong> identity reference: <code>/SERVICE_NAME/identitiy_name</code></li><li><strong>Component-level</strong> identity reference: <code>/SERVICE_NAME/COMPONENT_NAME/identitiy_name</code></li></ul><div class="codeBlockContainer_Ckt0 theme-code-block"  [...]
-details about the identity’s principal, including the principal’s <code>value</code>, the <code>type</code> (user or service),
-the relevant <code>configuration</code> property, and a local username mapping. All properties are optional; however
-if no base or default value is available (via the parent identity&#x27;s <code>reference</code> value) for all properties,
-the principal may be ignored.</p><p>The <code>value</code> property of the principal is expected to be the normalized principal name, including the
-principal’s components and realm. In most cases, the realm should be specified using the realm variable
-(<code>${realm}</code> or <code>${kerberos-env/realm}</code>). Also, in the case of a service principal, &quot;<code>_HOST</code>&quot; should be
-used to represent the relevant hostname.  This value is typically replaced on the agent side by either
-the agent-side scripts or the services themselves to be the hostname of the current host. However the
-built-in hostname variable (<code>${hostname}</code>) may be used if &quot;<code>_HOST</code>&quot; replacement on the agent-side is
-not available for the service. Examples: <code>smokeuser@${realm}</code>, <code>service/_HOST@${realm}</code>.</p><p>The <code>type</code> property of the principal may be either <code>user</code> or <code>service</code>. If not specified, the type is
-assumed to be <code>user</code>. This value dictates how the identity is to be created in the KDC or Active Directory.
-It is especially important in the Active Directory case due to how accounts are created. It also,
-indicates to Ambari how to handle the principal and relevant keytab file reguarding the user interface
-behavior and data caching.</p><p>The <code>configuration</code> property is an optional configuration specification (<code>config-type/property_name</code>)
-that is to be set to this principal&#x27;s <code>value</code> (after its variables have been replaced).</p><p>The <code>local_username</code> property, if supplied, indicates which local user account to use when generating
-auth-to-local rules for this identity. If not specified, no explicit auth-to-local rule will be generated.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;principal&quot; : {</span><br></span [...]
-create and store the relevant keytab file.  This block declares the keytab file&#x27;s path in the local
-filesystem of the destination host, the permissions to assign to that file, and the relevant
-configuration property.</p><p>The <code>file</code> property declares an absolute path to use to store the keytab file when distributing to
-relevant hosts. If this is not supplied, the keytab file will not be created.</p><p>The <code>owner</code> property is an optional block indicating the local user account to assign as the owner of
-the file and what access  (<code>&quot;rw&quot;</code> - read/write; <code>&quot;r&quot;</code> - read-only) should
-be granted to that user. By default, the owner will be given read-only access.</p><p>The <code>group</code> property is an optional block indicating which local group to assigned as the group owner
-of the file and what access (<code>&quot;rw&quot;</code> - read/write; <code>&quot;r&quot;</code> - read-only; <code>“”</code> - no access) should be granted
-to local user accounts in that group. By default, the group will be given no access.</p><p>The <code>configuration</code> property is an optional configuration specification (<code>config-type/property_name</code>)
-that is to be set to the path of this keytabs file (after any variables have been replaced).</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;keytab&quot; : {</span><br></span><span class="tok [...]
-This block is a list of zero or more service descriptors to add to the Kerberos Descriptor.</p><p>Each service block contains a service <code>name</code>, and optionals <code>identities</code>,  <code>auth_to_local_properties</code>
-<code>configurations</code>, and <code>components</code> blocks.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;services&quot;: [</span><br></span><span class="token-line" style="color:#393A [...]
-more component descriptors belonging to the containing service descriptor. Each component descriptor
-is a block containing a component <code>name</code>, and optional <code>identities</code>, <code>auth_to_local_properties</code>,
-and <code>configurations</code> blocks.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;components&quot;: [</span><br></span><span class="token-line" style="color:#393A34"><span class="token  [...]
-JSON-formatted file.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  // Properties that can be used in  [...]
-JSON-formatted file.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  // One or more services may be lis [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<li><a href="/docs/2.7.5/kerberos">Introduction</a></li>
+<li><a href="#the-kerberos-descriptor">The Kerberos Descriptor</a>
+<ul>
+<li><a href="#components-of-a-kerberos-descriptor">Components of a Kerberos Descriptor</a>
+<ul>
+<li><a href="#stack-level-properties">Stack-level Properties</a></li>
+<li><a href="#stack-level-identities">Stack-level Identities</a></li>
+<li><a href="#stack-level-auth-to-local-properties">Stack-level Auth-to-local-properties</a></li>
+<li><a href="#stack-level-configurations">Stack-level Configurations</a></li>
+<li><a href="#services">Services</a></li>
+<li><a href="#service-level-identities">Service-level Identities</a></li>
+<li><a href="#service-level-auth-to-local-properties">Service-level Auth-to-local-properties</a></li>
+<li><a href="#service-level-configurations">Service-level Configurations</a></li>
+<li><a href="#components">Components</a></li>
+<li><a href="#component-level-identities">Component-level Identities</a></li>
+<li><a href="#component-level-auth-to-local-properties">Component-level Auth-to-local-properties</a></li>
+<li><a href="#component-level-configurations">Component-level Configurations</a></li>
+</ul>
+</li>
+<li><a href="#kerberos-descriptor-specifications">Kerberos Descriptor specifications</a>
+<ul>
+<li><a href="#properties">properties</a></li>
+<li><a href="#auth-to-local-properties">auth-to-local-properties</a></li>
+<li><a href="#configurations">configurations</a></li>
+<li><a href="#identities">identities</a></li>
+<li><a href="#principal">principal</a></li>
+<li><a href="#keytab">keytab</a></li>
+<li><a href="#services">services</a></li>
+<li><a href="#components">components</a></li>
+</ul>
+</li>
+<li><a href="#examples">Examples</a></li>
+</ul>
+</li>
+<li><a href="/docs/2.7.5/ambari-design/kerberos/kerberos_service">The Kerberos Service</a></li>
+<li><a href="/docs/2.7.5/ambari-design/kerberos/enabling_kerberos">Enabling Kerberos</a></li>
+</ul>
+<a name="the-kerberos-descriptor"></a>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-kerberos-descriptor">The Kerberos Descriptor<a href="#the-kerberos-descriptor" class="hash-link" aria-label="Direct link to The Kerberos Descriptor" title="Direct link to The Kerberos Descriptor">​</a></h2>
+<p>The Kerberos Descriptor is a JSON-formatted text file containing information needed by Ambari to enable or disable Kerberos for a stack and its services. This file must be named <strong><em>kerberos.json</em></strong> and should be in the root directory of the relevant stack or service definition. Kerberos Descriptors are meant to be hierarchical such that details in the stack-level descriptor can be overwritten (or updated) by details in the service-level descriptors.</p>
+<p>For the services in a stack to be Kerberized, there must be a stack-level Kerberos Descriptor. This ensures that even if a common service has a Kerberos Descriptor, it may not be Kerberized unless the relevant stack indicates that supports Kerberos by having a stack-level Kerberos Descriptor.</p>
+<p>For a component of a service to be Kerberized, there must be an entry for it in its containing service&#x27;s service-level descriptor. This allows for some of a services&#x27; components to be managed and other components of that service to be ignored by the automated Kerberos facility.</p>
+<p>Kerberos Descriptors are inherited from the base stack or service, but may be overridden as a full descriptor - partial descriptors are not allowed.</p>
+<p>A complete descriptor (which is built using the stack-level descriptor, the service-level descriptors, and any updates from user input) has the following structure:</p>
+<ul>
+<li>Stack-level Properties</li>
+<li>Stack-level Identities</li>
+<li>Stack-level Configurations</li>
+<li>Stack-level Auth-to-local-properties</li>
+<li>Services<!-- -->
+<ul>
+<li>Service-level Identities</li>
+<li>Service-level Auth-to-local-properties</li>
+<li>Service-level Configurations</li>
+<li>Components<!-- -->
+<ul>
+<li>Component-level Identities</li>
+<li>Component-level Auth-to-local-properties</li>
+<li>Component-level Configurations</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<p>Each level of the descriptor inherits the data from its parent. This data, however, may be overridden if necessary. For example, a component will inherit the configurations and identities of its container service; which in turn inherits the configurations and identities from the stack.</p>
+<a name="components-of-a-kerberos-descriptor"></a>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="components-of-a-kerberos-descriptor">Components of a Kerberos Descriptor<a href="#components-of-a-kerberos-descriptor" class="hash-link" aria-label="Direct link to Components of a Kerberos Descriptor" title="Direct link to Components of a Kerberos Descriptor">​</a></h3>
+<a name="stack-level-properties"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-properties">Stack-level Properties<a href="#stack-level-properties" class="hash-link" aria-label="Direct link to Stack-level Properties" title="Direct link to Stack-level Properties">​</a></h4>
+<p>Stack-level properties is an optional set of name/value pairs that can be used in variable replacements. For example, if a property named <code>**_property1_**</code> exists with the value of <code>**_value1_**</code>, then any instance of <code>**_${property1}_**</code> within a configuration property name or configuration property value will be replaced with <code>**_value1_**</code>.</p>
+<p>This property is only relevant in the stack-level Kerberos Descriptor and may not be overridden by lower-level descriptors.</p>
+<p>See <a href="#properties">properties</a>.</p>
+<a name="stack-level-identities"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-identities">Stack-level Identities<a href="#stack-level-identities" class="hash-link" aria-label="Direct link to Stack-level Identities" title="Direct link to Stack-level Identities">​</a></h4>
+<p>Stack-level identities is an optional identities block containing a list of zero or more identity descriptors that are common among all services in the stack. An example of such an identity is the Ambari smoke test user, which is used by all services to perform service check operations. Service- and component-level identities may reference (and specialize) stack-level identities using the identity’s name with a forward slash (/) preceding it. For example if there was a stack-level ide [...]
+<p>See <a href="#identities">identities</a>.</p>
+<a name="stack-level-auth-to-local-properties"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-auth-to-local-properties">Stack-level Auth-to-local-properties<a href="#stack-level-auth-to-local-properties" class="hash-link" aria-label="Direct link to Stack-level Auth-to-local-properties" title="Direct link to Stack-level Auth-to-local-properties">​</a></h4>
+<p>Stack-level auth-to-local-properties is an optional list of zero or more configuration property specifications <code>(config-type/property_name[|concatenation_scheme])</code> indicating which properties should be updated with dynamically generated auto-to-local rule sets.</p>
+<p>See <a href="#auth-to-local-properties">auth-to-local-properties</a>.</p>
+<a name="stack-level-configurations"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-level-configurations">Stack-level Configurations<a href="#stack-level-configurations" class="hash-link" aria-label="Direct link to Stack-level Configurations" title="Direct link to Stack-level Configurations">​</a></h4>
+<p>Stack-level configurations is an optional configurations block containing a list of zero or more configuration descriptors that are common among all services in the stack. Configuration descriptors are overridable due to the structure of the data. However, overriding configuration properties may create undesired behavior since it is not known until after the Kerberization process is complete what value a property will have.</p>
+<p>See <a href="#configurations">configurations</a>.</p>
+<a name="services"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="services">Services<a href="#services" class="hash-link" aria-label="Direct link to Services" title="Direct link to Services">​</a></h4>
+<p>Services is a list of zero or more service descriptors. A stack-level Kerberos Descriptor should not list any services; however a service-level Kerberos Descriptor should contain at least one.</p>
+<p>See <a href="#services">services</a>.</p>
+<a name="service-level-identities"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="service-level-identities">Service-level Identities<a href="#service-level-identities" class="hash-link" aria-label="Direct link to Service-level Identities" title="Direct link to Service-level Identities">​</a></h4>
+<p>Service-level identities is an optional identities block containing a list of zero or more identity descriptors that are common among all components of the service. Component-level identities may reference (and specialize) service-level identities by specifying a relative or an absolute path to it.</p>
+<p>For example if there was a service-level identity with the name &quot;service_identity&quot;, then a child component may create an identity block that references and specializes it by setting its &quot;reference&quot; attribute to &quot;../service_identity&quot; or &quot;/service_name/service_identity&quot; and overriding any values as necessary. This does not override the service-level identity, it essentially creates a copy of it and updates the copy&#x27;s properties.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h5>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  &quot;name& [...]
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  &quot;name& [...]
+<p><strong>Note</strong>: By using the absolute path to an identity, any service-level identity may be referenced by any other service or component.</p>
+<p>See <a href="#identities">identities</a>.</p>
+<a name="service-level-auth-to-local-properties"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="service-level-auth-to-local-properties">Service-level Auth-to-local-properties<a href="#service-level-auth-to-local-properties" class="hash-link" aria-label="Direct link to Service-level Auth-to-local-properties" title="Direct link to Service-level Auth-to-local-properties">​</a></h4>
+<p>Service-level auth-to-local-properties is an optional list of zero or more configuration property specifications <code>(config-type/property_name[|concatenation_scheme])</code> indicating which properties should be updated with dynamically generated auto-to-local rule sets.</p>
+<p>See <a href="#auth-to-local-properties">auth-to-local-properties</a>.</p>
+<a name="service-level-configurations"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="service-level-configurations">Service-level Configurations<a href="#service-level-configurations" class="hash-link" aria-label="Direct link to Service-level Configurations" title="Direct link to Service-level Configurations">​</a></h4>
+<p>Service-level configurations is an optional configurations block listing of zero or more configuration descriptors that are common among all components within a service. Configuration descriptors may be overridden due to the structure of the data. However, overriding configuration properties may create undesired behavior since it is not known until after the Kerberization process is complete what value a property will have.</p>
+<p>See <a href="#configurations">configurations</a>.</p>
+<a name="service-components"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="components">Components<a href="#components" class="hash-link" aria-label="Direct link to Components" title="Direct link to Components">​</a></h4>
+<p>Components is a list of zero or more component descriptor blocks.</p>
+<p>See <a href="#components">components</a>.</p>
+<a name="component-level-identities"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="component-level-identities">Component-level Identities<a href="#component-level-identities" class="hash-link" aria-label="Direct link to Component-level Identities" title="Direct link to Component-level Identities">​</a></h4>
+<p>Component-level identities is an optional identities block containing a list of zero or more identity descriptors that are specific to the component. A Component-level identity may be referenced (and specialized) by using the absolute path to it (<code>/service_name/component_name/identity_name</code>). This does not override the component-level identity, it essentially creates a copy of it and updates the copy&#x27;s properties.</p>
+<p>See <a href="#identities">identities</a>.</p>
+<a name="component-level-auth-to-local-properties"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="component-level-auth-to-local-properties">Component-level Auth-to-local-properties<a href="#component-level-auth-to-local-properties" class="hash-link" aria-label="Direct link to Component-level Auth-to-local-properties" title="Direct link to Component-level Auth-to-local-properties">​</a></h4>
+<p>Component-level auth-to-local-properties is an optional list of zero or more configuration property specifications <code>(config-type/property_name[|concatenation_scheme])</code> indicating which properties should be updated with dynamically generated auto-to-local rule sets.</p>
+<p>See <a href="#auth-to-local-properties">auth-to-local-properties</a>.</p>
+<a name="component-level-configurations"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="component-level-configurations">Component-level Configurations<a href="#component-level-configurations" class="hash-link" aria-label="Direct link to Component-level Configurations" title="Direct link to Component-level Configurations">​</a></h4>
+<p>Component-level configurations is an optional configurations block listing zero or more configuration descriptors that are specific to the component.</p>
+<p>See <a href="#configurations">configurations</a>.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="kerberos-descriptor-specifications">Kerberos Descriptor Specifications<a href="#kerberos-descriptor-specifications" class="hash-link" aria-label="Direct link to Kerberos Descriptor Specifications" title="Direct link to Kerberos Descriptor Specifications">​</a></h3>
+<a name="properties"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="properties">properties<a href="#properties" class="hash-link" aria-label="Direct link to properties" title="Direct link to properties">​</a></h4>
+<p>The <code>properties</code> block is only valid in the service-level Kerberos Descriptor file. This block is a set of name/value pairs as follows:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;properties&quot; : {</span><br></span><span class="token-line" style="color:#393A34"><span class="t [...]
+<a name="auth-to-local-properties"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="auth-to-local-properties">auth-to-local-properties<a href="#auth-to-local-properties" class="hash-link" aria-label="Direct link to auth-to-local-properties" title="Direct link to auth-to-local-properties">​</a></h4>
+<p>The <code>auth-to-local-properties</code> block is valid in the stack-, service-, and component-level descriptors. This block is a list of configuration specifications (<code>config-type/property_name[|concatenation_scheme]</code>) indicating which properties contain auth-to-local rules that should be dynamically updated based on the identities used within the Kerberized cluster.</p>
+<p>The specification optionally declares the concatenation scheme to use to append the rules into a rule set value. If specified one of the following schemes may be set:</p>
+<ul>
+<li><strong><code>new_lines</code></strong> - rules in the rule set are separated by a new line (<code>\n</code>)</li>
+<li><strong><code>new_lines_escaped</code></strong> - rules in the rule set are separated by a <code>\</code> and a new line (<code>\n</code>)</li>
+<li><strong><code>spaces</code></strong> - rules in the rule set are separated by a whitespace character (effectively placing all rules in a single line)</li>
+</ul>
+<p>If not specified, the default concatenation scheme is <code>new_lines</code>.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;auth-to-local-properties&quot; : [</span><br></span><span class="token-line" style="color:#393A34"> [...]
+<a name="configurations"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="configurations">configurations<a href="#configurations" class="hash-link" aria-label="Direct link to configurations" title="Direct link to configurations">​</a></h4>
+<p>A <code>configurations</code> block may exist in stack-, service-, and component-level descriptors. This block is a list of one or more configuration blocks containing a single structure named using the configuration type and containing values for each relevant property.</p>
+<p>Each property name and value may be a concrete value or contain variables to be replaced using values from the stack-level <code>properties</code> block or any available configuration. Properties from the <code>properties</code> block are referenced by name (<code>${property_name}</code>), configuration properties are reference by configuration specification (<code>${config-type/property_name}</code>) and kerberos principals are referenced by the principal path (<code>principals/SERVI [...]
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;configurations&quot; : [</span><br></span><span class="token-line" style="color:#393A34"><span clas [...]
+<p>If <code>cluster-env/smokuser</code> was <code>&quot;ambari-qa&quot;</code> and realm was <code>&quot;EXAMPLE.COM&quot;</code>, the above block would effectively be translated to</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;configurations&quot; : [</span><br></span><span class="token-line" style="color:#393A34"><span clas [...]
+<a name="identities"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="identities">identities<a href="#identities" class="hash-link" aria-label="Direct link to identities" title="Direct link to identities">​</a></h4>
+<p>An <code>identities</code> descriptor may exist in stack-, service-, and component-level descriptors. This block is a list of zero or more identity descriptors. Each identity descriptor is a block containing a <code>name</code>, an optional <code>reference</code> identifier, an optional <code>principal</code> descriptor, and an optional <code>keytab</code> descriptor.</p>
+<p>The <code>name</code> property of an <code>identity</code> descriptor should be a concrete name that is unique with in its <code>local</code> scope (stack, service, or component). However, to maintain backwards-compatibility with previous versions of Ambari, it may be a reference identifier to some other identity in the Kerberos Descriptor. This feature is deprecated and may not be available in future versions of Ambari.</p>
+<p>The <code>reference</code> property of an <code>identitiy</code> descriptor is optional. If it exists, it indicates that the properties from referenced identity is to be used as the base for the current identity and any properties specified in the local identity block overrides the base data. In this scenario, the base data is copied to the local identities and therefore changes are realized locally, not globally. Referenced identities may be hierarchical, so a referenced identity may [...]
+<ul>
+<li><strong>Stack-level</strong> identity reference: <code>/identitiy_name</code></li>
+<li><strong>Service-level</strong> identity reference: <code>/SERVICE_NAME/identitiy_name</code></li>
+<li><strong>Component-level</strong> identity reference: <code>/SERVICE_NAME/COMPONENT_NAME/identitiy_name</code></li>
+</ul>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;identities&quot; : [</span><br></span><span class="token-line" style="color:#393A34"><span class="t [...]
+<a name="principal"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="principal">principal<a href="#principal" class="hash-link" aria-label="Direct link to principal" title="Direct link to principal">​</a></h4>
+<p>The <code>principal</code> block is an optional block inside an <code>identity</code> descriptor block. It declares the details about the identity’s principal, including the principal’s <code>value</code>, the <code>type</code> (user or service), the relevant <code>configuration</code> property, and a local username mapping. All properties are optional; however if no base or default value is available (via the parent identity&#x27;s <code>reference</code> value) for all properties, th [...]
+<p>The <code>value</code> property of the principal is expected to be the normalized principal name, including the principal’s components and realm. In most cases, the realm should be specified using the realm variable (<code>${realm}</code> or <code>${kerberos-env/realm}</code>). Also, in the case of a service principal, &quot;<code>_HOST</code>&quot; should be used to represent the relevant hostname. This value is typically replaced on the agent side by either the agent-side scripts or [...]
+<p>The <code>type</code> property of the principal may be either <code>user</code> or <code>service</code>. If not specified, the type is assumed to be <code>user</code>. This value dictates how the identity is to be created in the KDC or Active Directory. It is especially important in the Active Directory case due to how accounts are created. It also, indicates to Ambari how to handle the principal and relevant keytab file reguarding the user interface behavior and data caching.</p>
+<p>The <code>configuration</code> property is an optional configuration specification (<code>config-type/property_name</code>) that is to be set to this principal&#x27;s <code>value</code> (after its variables have been replaced).</p>
+<p>The <code>local_username</code> property, if supplied, indicates which local user account to use when generating auth-to-local rules for this identity. If not specified, no explicit auth-to-local rule will be generated.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;principal&quot; : {</span><br></span><span class="token-line" style="color:#393A34"><span class="to [...]
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;principal&quot; : {</span><br></span><span class="token-line" style="color:#393A34"><span class="to [...]
+<a name="keytab"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="keytab">keytab<a href="#keytab" class="hash-link" aria-label="Direct link to keytab" title="Direct link to keytab">​</a></h4>
+<p>The <code>keytab</code> block is an optional block inside an <code>identity</code> descriptor block. It describes how to create and store the relevant keytab file. This block declares the keytab file&#x27;s path in the local filesystem of the destination host, the permissions to assign to that file, and the relevant configuration property.</p>
+<p>The <code>file</code> property declares an absolute path to use to store the keytab file when distributing to relevant hosts. If this is not supplied, the keytab file will not be created.</p>
+<p>The <code>owner</code> property is an optional block indicating the local user account to assign as the owner of the file and what access (<code>&quot;rw&quot;</code> - read/write; <code>&quot;r&quot;</code> - read-only) should be granted to that user. By default, the owner will be given read-only access.</p>
+<p>The <code>group</code> property is an optional block indicating which local group to assigned as the group owner of the file and what access (<code>&quot;rw&quot;</code> - read/write; <code>&quot;r&quot;</code> - read-only; <code>“”</code> - no access) should be granted to local user accounts in that group. By default, the group will be given no access.</p>
+<p>The <code>configuration</code> property is an optional configuration specification (<code>config-type/property_name</code>) that is to be set to the path of this keytabs file (after any variables have been replaced).</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;keytab&quot; : {</span><br></span><span class="token-line" style="color:#393A34"><span class="token [...]
+<a name="services"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="services-1">services<a href="#services-1" class="hash-link" aria-label="Direct link to services" title="Direct link to services">​</a></h4>
+<p>A <code>services</code> block may exist in the stack-level and the service-level Kerberos Descriptor file. This block is a list of zero or more service descriptors to add to the Kerberos Descriptor.</p>
+<p>Each service block contains a service <code>name</code>, and optionals <code>identities</code>, <code>auth_to_local_properties</code> <code>configurations</code>, and <code>components</code> blocks.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;services&quot;: [</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
+<a name="components"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="components-1">components<a href="#components-1" class="hash-link" aria-label="Direct link to components" title="Direct link to components">​</a></h4>
+<p>A <code>components</code> block may exist within a <code>service</code> descriptor block. This block is a list of zero or more component descriptors belonging to the containing service descriptor. Each component descriptor is a block containing a component <code>name</code>, and optional <code>identities</code>, <code>auth_to_local_properties</code>, and <code>configurations</code> blocks.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;components&quot;: [</span><br></span><span class="token-line" style="color:#393A34"><span class="to [...]
+<a name="examples"></a>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="examples-1">Examples<a href="#examples-1" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h3>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-stack-level-kerberos-descriptor">Example Stack-level Kerberos Descriptor<a href="#example-stack-level-kerberos-descriptor" class="hash-link" aria-label="Direct link to Example Stack-level Kerberos Descriptor" title="Direct link to Example Stack-level Kerberos Descriptor">​</a></h4>
+<p>The following example is annotated for descriptive purposes. The annotations are not valid in a real JSON-formatted file.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  // Properti [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-service-level-kerberos-descriptor">Example Service-level Kerberos Descriptor<a href="#example-service-level-kerberos-descriptor" class="hash-link" aria-label="Direct link to Example Service-level Kerberos Descriptor" title="Direct link to Example Service-level Kerberos Descriptor">​</a></h4>
+<p>The following example is annotated for descriptive purposes. The annotations are not valid in a real JSON-formatted file.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  // One or m [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/kerberos/kerberos_service/index.html b/docs/2.7.5/ambari-design/kerberos/kerberos_service/index.html
index 8f55677..4c9703c 100644
--- a/docs/2.7.5/ambari-design/kerberos/kerberos_service/index.html
+++ b/docs/2.7.5/ambari-design/kerberos/kerberos_service/index.html
@@ -1,34 +1,193 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/kerberos/kerberos_service">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/kerberos/kerberos_service" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">The Kerberos Service | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/kerberos/kerberos_service"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="t [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">The Kerberos Service | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/kerberos/kerberos_service"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true"  [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-will be created and the keytab files are distributed manually</li></ul></li><li><code>mit-kdc</code><ul><li>Ambari is to integrate with an MIT KDC</li></ul></li><li><code>active-directory</code><ul><li>Ambari is to integrate with an Active Directory</li></ul></li><li><code>ipa</code> <ul><li>Ambari is to integrate with a FreeIPA server</li></ul></li></ul><h5 class="anchor anchorWithStickyNavbar_LWe7" id="manage_identities">manage_identities<a class="hash-link" href="#manage_identities" t [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<li><a href="/docs/2.7.5/kerberos">Introduction</a></li>
+<li><a href="/docs/2.7.5/ambari-design/kerberos/kerberos_descriptor">The Kerberos Descriptor</a></li>
+<li><a href="#the-kerberos-service">The Kerberos Service</a>
+<ul>
+<li><a href="#configurations">Configurations</a>
+<ul>
+<li><a href="#kerberos-env">kerberos-env</a></li>
+<li><a href="#krb5-conf">krb5-conf</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/docs/2.7.5/ambari-design/kerberos/enabling_kerberos">Enabling Kerberos</a></li>
+</ul>
+<a name="the-kerberos-service"></a>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-kerberos-service">The Kerberos Service<a href="#the-kerberos-service" class="hash-link" aria-label="Direct link to The Kerberos Service" title="Direct link to The Kerberos Service">​</a></h2>
+<a name="configurations"></a>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="configurations">Configurations<a href="#configurations" class="hash-link" aria-label="Direct link to Configurations" title="Direct link to Configurations">​</a></h3>
+<a name="kerberos-env"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="kerberos-env">kerberos-env<a href="#kerberos-env" class="hash-link" aria-label="Direct link to kerberos-env" title="Direct link to kerberos-env">​</a></h4>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="kdc_type">kdc_type<a href="#kdc_type" class="hash-link" aria-label="Direct link to kdc_type" title="Direct link to kdc_type">​</a></h5>
+<p>The type of KDC being used.</p>
+<p><em>Possible Values:</em></p>
+<ul>
+<li><code>none</code>
+<ul>
+<li>Ambari is not to integrate with a KDC.  In this case, it is expected that the Kerberos identities
+will be created and the keytab files are distributed manually</li>
+</ul>
+</li>
+<li><code>mit-kdc</code>
+<ul>
+<li>Ambari is to integrate with an MIT KDC</li>
+</ul>
+</li>
+<li><code>active-directory</code>
+<ul>
+<li>Ambari is to integrate with an Active Directory</li>
+</ul>
+</li>
+<li><code>ipa</code>
+<ul>
+<li>Ambari is to integrate with a FreeIPA server</li>
+</ul>
+</li>
+</ul>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="manage_identities">manage_identities<a href="#manage_identities" class="hash-link" aria-label="Direct link to manage_identities" title="Direct link to manage_identities">​</a></h5>
+<p>Indicates whether the Ambari-specified user and service Kerberos identities (principals and keytab files)
 should be managed (created, deleted, updated, etc...) by Ambari (<code>true</code>) or managed manually by the
-user (<code>false</code>).</p><p><em>Possible Values:</em> <code>true</code>, <code>false</code></p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="create_ambari_principal">create_ambari_principal<a class="hash-link" href="#create_ambari_principal" title="Direct link to heading">​</a></h5><p>Indicates whether the Ambari Kerberos identity (principal and keytab file used by Ambari, itself, and
+user (<code>false</code>).</p>
+<p><em>Possible Values:</em> <code>true</code>, <code>false</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="create_ambari_principal">create_ambari_principal<a href="#create_ambari_principal" class="hash-link" aria-label="Direct link to create_ambari_principal" title="Direct link to create_ambari_principal">​</a></h5>
+<p>Indicates whether the Ambari Kerberos identity (principal and keytab file used by Ambari, itself, and
 its views) should be managed (created, deleted, updated, etc...) by Ambari (<code>true</code>) or managed manually
-by the user (<code>false</code>).</p><p><em>Possible Values:</em> <code>true</code>, <code>false</code></p><p>This property is dependent on the value of <code>manage_identities</code>, where as if <code>manage_identities</code> is
-false, <code>create_ambari_principal</code> will assumed to be <code>false</code> as well.</p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="manage_auth_to_local">manage_auth_to_local<a class="hash-link" href="#manage_auth_to_local" title="Direct link to heading">​</a></h5><p>Indicates whether the Hadoop auth-to-local rules should be managed by Ambari (<code>true</code>) or managed
-manually by the user (<code>false</code>).</p><p><em>Possible Values:</em> <code>true</code>, <code>false</code></p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="install_packages">install_packages<a class="hash-link" href="#install_packages" title="Direct link to heading">​</a></h5><p>Indicates whether Ambari should install the Kerberos client packages (<code>true</code>) or not (<code>false</code>).
+by the user (<code>false</code>).</p>
+<p><em>Possible Values:</em> <code>true</code>, <code>false</code></p>
+<p>This property is dependent on the value of <code>manage_identities</code>, where as if <code>manage_identities</code> is
+false, <code>create_ambari_principal</code> will assumed to be <code>false</code> as well.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="manage_auth_to_local">manage_auth_to_local<a href="#manage_auth_to_local" class="hash-link" aria-label="Direct link to manage_auth_to_local" title="Direct link to manage_auth_to_local">​</a></h5>
+<p>Indicates whether the Hadoop auth-to-local rules should be managed by Ambari (<code>true</code>) or managed
+manually by the user (<code>false</code>).</p>
+<p><em>Possible Values:</em> <code>true</code>, <code>false</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="install_packages">install_packages<a href="#install_packages" class="hash-link" aria-label="Direct link to install_packages" title="Direct link to install_packages">​</a></h5>
+<p>Indicates whether Ambari should install the Kerberos client packages (<code>true</code>) or not (<code>false</code>).
 If not, it is expected that Kerberos utility programs installed by the user (such as kadmin, kinit,
 klist, and kdestroy) are compatible with MIT Kerberos 5 version 1.10.3 in command line options and
-behaviors.</p><p><em>Possible Values:</em> <code>true</code>, <code>false</code></p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="ldap_url">ldap_url<a class="hash-link" href="#ldap_url" title="Direct link to heading">​</a></h5><p>The URL to the Active Directory LDAP Interface. This value <strong>must</strong> indicate a secure channel using
-LDAPS since it is required for creating and updating passwords for Active Directory accounts.</p><p><em>Example:</em>  <code>ldaps://ad.example.com:636</code></p><p>If the <code>kdc_type</code> is <code>active-directory</code>, this property is mandatory.</p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="container_dn">container_dn<a class="hash-link" href="#container_dn" title="Direct link to heading">​</a></h5><p>The distinguished name (DN) of the container used store the Ambari-man [...]
-within the configured Active Directory</p><p><em>Example:</em>  <code>OU=hadoop,DC=example,DC=com</code></p><p>If the <code>kdc_type</code> is <code>active-directory</code>, this property is mandatory.</p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="encryption_types">encryption_types<a class="hash-link" href="#encryption_types" title="Direct link to heading">​</a></h5><p>The supported (space-delimited) list of session key encryption types that should be returned by the KDC.</p><p>< [...]
-port number may be included for each entry.</p><p><em>Example:</em> <code>kdc.example.com, kdc1.example.com</code></p><p><em>Example:</em> <code>kdc.example.com:88, kdc1.example.com:88</code></p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="admin_server_host">admin_server_host<a class="hash-link" href="#admin_server_host" title="Direct link to heading">​</a></h5><p>The IP address or FQDN for the Kerberos administrative host. Optionally a port number may be included.</p><p><em>Exampl [...]
-number may be included.</p><p><em>Example:</em> <code>kadmin.example.com</code></p><p><em>Example:</em> <code>kadmin.example.com:88</code></p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="executable_search_paths">executable_search_paths<a class="hash-link" href="#executable_search_paths" title="Direct link to heading">​</a></h5><p>A comma-delimited list of search paths to use to find Kerberos utilities like kadmin and kinit.</p><p><em>Default value:</em> <code>/usr/bin, /usr/kerbero [...]
-names and values needed to create a new Kerberos identity in the relevant Active Directory.</p><p>Variables include: </p><ul><li><code>principal_name</code> - the components (primary and instance) portion of the principal</li><li><code>principal_primary</code> - the <em>primary component</em> of the principal name</li><li><code>principal_instance</code> - the <em>instance component</em> of the principal name</li><li><code>realm</code> - the <code>realm</code> portion of the principal</li [...]
-(optional), and realm:</p><ul><li>User principal: <strong><em><code>primary_component</code></em></strong>@<strong><em><code>realm</code></em></strong></li><li>Service principal: <strong><em><code>primary_component</code></em></strong>/<strong><em><code>instance_component</code></em></strong>@<strong><em><code>realm</code></em></strong></li></ul><p><em>Default value:</em></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8f [...]
-or managed manually by the user (<code>false</code>).</p><p><em>Possible values:</em> <code>true</code>, <code>false</code></p><p><em>Default value:</em> <code>false</code></p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="domains">domains<a class="hash-link" href="#domains" title="Direct link to heading">​</a></h5><p>A comma-separated list of domain names used to map server host names to the realm name.</p><p><em>Example:</em> host.example.com, example.com, .example.com</p><p>This p [...]
-Default value: /etc</p><h5 class="anchor anchorWithStickyNavbar_LWe7" id="content">content<a class="hash-link" href="#content" title="Direct link to heading">​</a></h5><p>Customizable krb5.conf template (Jinja template engine)</p><p><em>Default value:</em></p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+behaviors.</p>
+<p><em>Possible Values:</em> <code>true</code>, <code>false</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="ldap_url">ldap_url<a href="#ldap_url" class="hash-link" aria-label="Direct link to ldap_url" title="Direct link to ldap_url">​</a></h5>
+<p>The URL to the Active Directory LDAP Interface. This value <strong>must</strong> indicate a secure channel using
+LDAPS since it is required for creating and updating passwords for Active Directory accounts.</p>
+<p><em>Example:</em>  <code>ldaps://ad.example.com:636</code></p>
+<p>If the <code>kdc_type</code> is <code>active-directory</code>, this property is mandatory.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="container_dn">container_dn<a href="#container_dn" class="hash-link" aria-label="Direct link to container_dn" title="Direct link to container_dn">​</a></h5>
+<p>The distinguished name (DN) of the container used store the Ambari-managed user and service principals
+within the configured Active Directory</p>
+<p><em>Example:</em>  <code>OU=hadoop,DC=example,DC=com</code></p>
+<p>If the <code>kdc_type</code> is <code>active-directory</code>, this property is mandatory.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="encryption_types">encryption_types<a href="#encryption_types" class="hash-link" aria-label="Direct link to encryption_types" title="Direct link to encryption_types">​</a></h5>
+<p>The supported (space-delimited) list of session key encryption types that should be returned by the KDC.</p>
+<p><em>Default value:</em> aes des3-cbc-sha1 rc4 des-cbc-md5</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="realm">realm<a href="#realm" class="hash-link" aria-label="Direct link to realm" title="Direct link to realm">​</a></h5>
+<p>The default realm to use when creating service principals</p>
+<p><em>Example:</em> <code>EXAMPLE.COM</code></p>
+<p>This value is expected to be in all uppercase characters.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="kdc_hosts">kdc_hosts<a href="#kdc_hosts" class="hash-link" aria-label="Direct link to kdc_hosts" title="Direct link to kdc_hosts">​</a></h5>
+<p>A comma-delimited list of IP addresses or FQDNs for the list of relevant KDC hosts. Optionally a
+port number may be included for each entry.</p>
+<p><em>Example:</em> <code>kdc.example.com, kdc1.example.com</code></p>
+<p><em>Example:</em> <code>kdc.example.com:88, kdc1.example.com:88</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="admin_server_host">admin_server_host<a href="#admin_server_host" class="hash-link" aria-label="Direct link to admin_server_host" title="Direct link to admin_server_host">​</a></h5>
+<p>The IP address or FQDN for the Kerberos administrative host. Optionally a port number may be included.</p>
+<p><em>Example:</em> <code>kadmin.example.com</code></p>
+<p><em>Example:</em> <code>kadmin.example.com:88</code></p>
+<p>If the <code>kdc_type</code> is <code>mit-kdc</code> or <code>ipa</code>, the value must be the FQDN of the Kerberos administrative host.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="master_kdc">master_kdc<a href="#master_kdc" class="hash-link" aria-label="Direct link to master_kdc" title="Direct link to master_kdc">​</a></h5>
+<p>The IP address or FQDN of the master KDC host in a master-slave KDC deployment. Optionally a port
+number may be included.</p>
+<p><em>Example:</em> <code>kadmin.example.com</code></p>
+<p><em>Example:</em> <code>kadmin.example.com:88</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="executable_search_paths">executable_search_paths<a href="#executable_search_paths" class="hash-link" aria-label="Direct link to executable_search_paths" title="Direct link to executable_search_paths">​</a></h5>
+<p>A comma-delimited list of search paths to use to find Kerberos utilities like kadmin and kinit.</p>
+<p><em>Default value:</em> <code>/usr/bin, /usr/kerberos/bin, /usr/sbin, /usr/lib/mit/bin, /usr/lib/mit/sbin</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="password_length">password_length<a href="#password_length" class="hash-link" aria-label="Direct link to password_length" title="Direct link to password_length">​</a></h5>
+<p>The length required length for generated passwords.</p>
+<p><em>Default value:</em> <code>20</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="password_min_lowercase_letters">password_min_lowercase_letters<a href="#password_min_lowercase_letters" class="hash-link" aria-label="Direct link to password_min_lowercase_letters" title="Direct link to password_min_lowercase_letters">​</a></h5>
+<p>The minimum number of lowercase letters (a-z) required in generated passwords</p>
+<p><em>Default value:</em> <code>1</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="password_min_uppercase_letters">password_min_uppercase_letters<a href="#password_min_uppercase_letters" class="hash-link" aria-label="Direct link to password_min_uppercase_letters" title="Direct link to password_min_uppercase_letters">​</a></h5>
+<p>The minimum number of uppercase letters (A-Z) required in generated passwords</p>
+<p><em>Default value:</em> <code>1</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="password_min_digits">password_min_digits<a href="#password_min_digits" class="hash-link" aria-label="Direct link to password_min_digits" title="Direct link to password_min_digits">​</a></h5>
+<p>The minimum number of digits (0-9) required in generated passwords</p>
+<p><em>Default value:</em> <code>1</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="password_min_punctuation">password_min_punctuation<a href="#password_min_punctuation" class="hash-link" aria-label="Direct link to password_min_punctuation" title="Direct link to password_min_punctuation">​</a></h5>
+<p>The minimum number of punctuation characters (?.!$%^*()-_+=~) required in generated passwords</p>
+<p><em>Default value:</em> <code>1</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="password_min_whitespace">password_min_whitespace<a href="#password_min_whitespace" class="hash-link" aria-label="Direct link to password_min_whitespace" title="Direct link to password_min_whitespace">​</a></h5>
+<p>The minimum number of whitespace characters required in generated passwords</p>
+<p><em>Default value:</em> <code>0</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="service_check_principal_name">service_check_principal_name<a href="#service_check_principal_name" class="hash-link" aria-label="Direct link to service_check_principal_name" title="Direct link to service_check_principal_name">​</a></h5>
+<p>The principal name to use when executing the Kerberos service check</p>
+<p><em>Example:</em> <code>${cluster_name}-${short_date}</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="case_insensitive_username_rules">case_insensitive_username_rules<a href="#case_insensitive_username_rules" class="hash-link" aria-label="Direct link to case_insensitive_username_rules" title="Direct link to case_insensitive_username_rules">​</a></h5>
+<p>Force principal names to resolve to lowercase local usernames in auth-to-local rules</p>
+<p><em>Possible values:</em> <code>true</code>, <code>false</code></p>
+<p><em>Default value:</em> <code>false</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="ad_create_attributes_template">ad_create_attributes_template<a href="#ad_create_attributes_template" class="hash-link" aria-label="Direct link to ad_create_attributes_template" title="Direct link to ad_create_attributes_template">​</a></h5>
+<p>A Velocity template to use to generate a JSON-formatted document containing the set of attribute
+names and values needed to create a new Kerberos identity in the relevant Active Directory.</p>
+<p>Variables include:</p>
+<ul>
+<li><code>principal_name</code> - the components (primary and instance) portion of the principal</li>
+<li><code>principal_primary</code> - the <em>primary component</em> of the principal name</li>
+<li><code>principal_instance</code> - the <em>instance component</em> of the principal name</li>
+<li><code>realm</code> - the <code>realm</code> portion of the principal</li>
+<li><code>realm_lowercase</code> - the lowercase form of the <code>realm</code> of the principal</li>
+<li><code>normalized_principal</code> - the full principal value, including the component and realms parts</li>
+<li><code>principal_digest</code> - a binhexed-encoded SHA1 digest of the normalized principal</li>
+<li><code>principal_digest_256</code> - a binhexed-encoded SHA256 digest of the normalized principal</li>
+<li><code>principal_digest_512</code> - a binhexed-encoded SHA512 digest of the normalized principal</li>
+<li><code>password</code> - the generated password</li>
+<li><code>is_service</code> - <code>true</code> if the principal is a <em>service</em> principal, <code>false</code> if the principal is a <em>user</em> principal</li>
+<li><code>container_dn</code> - the <code>kerberos-env/container_dn</code> property value</li>
+</ul>
+<p><em>Note</em>: A principal is made up of the following parts:  primary component, instances component
+(optional), and realm:</p>
+<ul>
+<li>User principal: <strong><em><code>primary_component</code></em></strong>@<strong><em><code>realm</code></em></strong></li>
+<li>Service principal: <strong><em><code>primary_component</code></em></strong>/<strong><em><code>instance_component</code></em></strong>@<strong><em><code>realm</code></em></strong></li>
+</ul>
+<p><em>Default value:</em></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">{</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">&quot;objectC [...]
+<p>This property is mandatory and only used if the <code>kdc_type</code> is <code>active-directory</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="kdc_create_attributes">kdc_create_attributes<a href="#kdc_create_attributes" class="hash-link" aria-label="Direct link to kdc_create_attributes" title="Direct link to kdc_create_attributes">​</a></h5>
+<p>The set of attributes to use when creating a new Kerberos identity in the relevant (MIT) KDC.</p>
+<p><em>Example:</em> <code>-requires_preauth max_renew_life=7d</code></p>
+<p>This property is optional and only used if the <code>kdc_type</code> is <code>mit-kdc</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="ipa_user_group">ipa_user_group<a href="#ipa_user_group" class="hash-link" aria-label="Direct link to ipa_user_group" title="Direct link to ipa_user_group">​</a></h5>
+<p>The group in IPA that user principals should be a member of.</p>
+<p>This property is optional and only used if the <code>kdc_type</code> is <code>ipa</code></p>
+<a name="krb5-conf"></a>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="krb5-conf">krb5-conf<a href="#krb5-conf" class="hash-link" aria-label="Direct link to krb5-conf" title="Direct link to krb5-conf">​</a></h4>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="manage_krb5_conf">manage_krb5_conf<a href="#manage_krb5_conf" class="hash-link" aria-label="Direct link to manage_krb5_conf" title="Direct link to manage_krb5_conf">​</a></h5>
+<p>Indicates whether the krb5.conf file should be managed (created, updated, etc...) by Ambari (<code>true</code>)
+or managed manually by the user (<code>false</code>).</p>
+<p><em>Possible values:</em> <code>true</code>, <code>false</code></p>
+<p><em>Default value:</em> <code>false</code></p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="domains">domains<a href="#domains" class="hash-link" aria-label="Direct link to domains" title="Direct link to domains">​</a></h5>
+<p>A comma-separated list of domain names used to map server host names to the realm name.</p>
+<p><em>Example:</em> host.example.com, example.com, .example.com</p>
+<p>This property is optional</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="conf_dir">conf_dir<a href="#conf_dir" class="hash-link" aria-label="Direct link to conf_dir" title="Direct link to conf_dir">​</a></h5>
+<p>The krb5.conf configuration directory
+Default value: /etc</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="content">content<a href="#content" class="hash-link" aria-label="Direct link to content" title="Direct link to content">​</a></h5>
+<p>Customizable krb5.conf template (Jinja template engine)</p>
+<p><em>Default value:</em></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">[libdefaults]</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/ambari-metrics-whitelisting/index.html b/docs/2.7.5/ambari-design/metrics/ambari-metrics-whitelisting/index.html
index 0fb5526..8cc72af 100644
--- a/docs/2.7.5/ambari-design/metrics/ambari-metrics-whitelisting/index.html
+++ b/docs/2.7.5/ambari-design/metrics/ambari-metrics-whitelisting/index.html
@@ -1,19 +1,55 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/ambari-metrics-whitelisting">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/ambari-metrics-whitelisting" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Ambari Metrics - Whitelisting | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/ambari-metrics-whitelisting"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="e [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Ambari Metrics - Whitelisting | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/ambari-metrics-whitelisting"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><m [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-A metric whitelist file can be used to track the set of metrics in AMS. All other metrics will be discarded.</p><p><strong>STEPS</strong></p><ul><li>Metric whitelist file is present in /etc/ambari-metrics-collector/conf. If not present in older Ambari versions, it can be downloaded from <a href="https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-timelineservice/conf/unix/metrics_whitelist" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/b [...]
-From Ambari 2.5.0, more refinements for whitelisting were included.</p><ul><li><p><strong>App Blacklisting</strong> - Blacklist metrics from one or more services. Other service metrics will be entirely allowed or controlled through a whitelist file.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code  [...]
-In addition to supplying metric names in the whitelist file, patterns can also be supplied using the .<em>p</em> perfix. For example, a pattern can be specified as follows</p></li></ul><p>._p_dfs.FSNamesystem.*</p><p>._p_jvm.JvmMetrics*</p><p>An example of a metric whitelisting file that has both metrics and patterns - <a href="https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-timelineservice/src/test/resources/test_data/metric_whitelist.dat" target="_blank" rel=" [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>In large clusters (500+ nodes), sometimes there are performance issues seen in AMS aggregations. In the ambari-metrics-collector log file, we can see log lines that look like</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">20:51:30,952 INFO 2080712366@qtp-974606690-381 AsyncProcess:1597 - #1, waiting for 13948 actions to finis [...]
+<p>In Ambari 3.0.0, we are tackling these performance issues through a complete schema and aggregation logic revamp. Until then, we can use AMS whitelisting to reduce the number of metrics tracked by AMS, there by solving this scale problem.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-we-enable-whitelisting-in-ams">How do we enable whitelisting in AMS.<a href="#how-do-we-enable-whitelisting-in-ams" class="hash-link" aria-label="Direct link to How do we enable whitelisting in AMS." title="Direct link to How do we enable whitelisting in AMS.">​</a></h2>
+<p><strong>Until Ambari 2.4.3</strong>
+A metric whitelist file can be used to track the set of metrics in AMS. All other metrics will be discarded.</p>
+<p><strong>STEPS</strong></p>
+<ul>
+<li>Metric whitelist file is present in /etc/ambari-metrics-collector/conf. If not present in older Ambari versions, it can be downloaded from <a href="https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-timelineservice/conf/unix/metrics_whitelist" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-timelineservice/conf/unix/metrics_whitelist</a> to the collector host.</li>
+<li>Adding config ams-site : timeline.metrics.whitelist.file = <code>/path/to/whitelist_file</code></li>
+<li>Restart AMS collector</li>
+<li>Verify whitelisting config was used. In ambari-metrics-collector log file, verify the line &#x27;Whitelisting # metrics&#x27;.</li>
+</ul>
+<p><strong>From Ambari 2.5.0 onwards</strong>
+From Ambari 2.5.0, more refinements for whitelisting were included.</p>
+<ul>
+<li>
+<p><strong>App Blacklisting</strong> - Blacklist metrics from one or more services. Other service metrics will be entirely allowed or controlled through a whitelist file.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ams-site : timeline.metrics.apps.blacklist = hbase,namenode</span><br></span></code></pre><div class="but [...]
+</li>
+<li>
+<p><strong>App Whitelisting</strong> - Whitelist metrics from one or more services.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ams-site:timeline.metrics.apps.whitelist = nimbus,datanode   </span><br></span></code></pre><div class="b [...]
+<p>NOTE : The App name can be found from the metadata URL :</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;metrics_collector_host&gt;:6188/ws/v1/timeline/metrics/metadata</span><br></span></code></pre> [...]
+</li>
+<li>
+<p><strong>Metric Whitelisting</strong> - Same as the whitelisting method in Ambari 2.4.3 (through a whitelist file).
+In addition to supplying metric names in the whitelist file, patterns can also be supplied using the .<em>p</em> perfix. For example, a pattern can be specified as follows</p>
+</li>
+</ul>
+<p>._p_dfs.FSNamesystem.*</p>
+<p>._p_jvm.JvmMetrics*</p>
+<p>An example of a metric whitelisting file that has both metrics and patterns - <a href="https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-timelineservice/src/test/resources/test_data/metric_whitelist.dat" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-timelineservice/src/test/resources/test_data/metric_whitelist.dat</a>.</p>
+<p>These whitelisting/blacklisting techniques can be used together.</p>
+<ul>
+<li>If you just have timeline.metrics.whitelist.file = <code>/path/to/whitelist_file</code>, only metrics in that file will be allowed (irrespective of whatever apps might be sending them).</li>
+<li>If you just have timeline.metrics.apps.blacklist = datanode, all datanode metrics will be disallowed. Metrics from all other services will be allowed.</li>
+<li>If you just have timeline.metrics.apps.whitelist = namenode, it is not useful since there is no blacklisting at all.</li>
+<li>If you have metric whitelisting enabled (through a file), and have timeline.metrics.apps.blacklist = datanode, all datanode metrics will be disallowed. The whitelisted metrics from other services will be allowed.</li>
+<li>If you have timeline.metrics.apps.blacklist = datanode, timeline.metrics.apps.whitelist = namenode and metric whitelisting enabled (through a file), datanode metrics will be blacklisted, all namenode metrics will be allowed, and whitelisted metrics from other services will be allowed.</li>
+</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/metrics/ambari-metrics-whitelisting.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11 [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/ambari-server-metrics/index.html b/docs/2.7.5/ambari-design/metrics/ambari-server-metrics/index.html
index d687ee6..6b621a6 100644
--- a/docs/2.7.5/ambari-design/metrics/ambari-server-metrics/index.html
+++ b/docs/2.7.5/ambari-design/metrics/ambari-server-metrics/index.html
@@ -1,17 +1,97 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/ambari-server-metrics">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/ambari-server-metrics" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Ambari Server Metrics | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/ambari-server-metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data- [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Ambari Server Metrics | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/ambari-server-metrics"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="t [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-For example, some of the metrics being collected tothe Database Metrics Source.</p></li><li><p>Counter.ReadObjectQuery.HostRoleCommandEntity.readHostRoleCommandEntity</p></li><li><p>Timer.ReadAllQuery.StackEntity.StackEntity.findByNameAndVersion.ObjectBuilding</p></li></ul><p>In addition to the Counter &amp; Timer metrics collected from EclipseLink, a computed metric of Timer/Counter (divided by) is also sent. This metrics provides the average time taken for an operation across time. </p [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="outline">Outline<a href="#outline" class="hash-link" aria-label="Direct link to Outline" title="Direct link to Outline">​</a></h2>
+<p>Ambari Server can be used to manage a few tens of nodes to 1000+ nodes. In large clusters, or clusters with sub-optimal infrastructure, capturing Ambari Server performance can be useful for tuning the server as well as guiding future performance optimization efforts. Through this feature, a Metrics Source-Sink framework has been implemented within the AmbariServer which facilitates fine grained control of the various metric sources as well as eases addition of future metrics sources.</p>
+<p>Specifically, Ambari server JVM and database (EclipseLink) metric sources have been wired up to send metrics to AMS, and visualized through Grafana dashboards.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-system-terminology">Metrics System Terminology<a href="#metrics-system-terminology" class="hash-link" aria-label="Direct link to Metrics System Terminology" title="Direct link to Metrics System Terminology">​</a></h2>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration--enabling">Configuration / Enabling<a href="#configuration--enabling" class="hash-link" aria-label="Direct link to Configuration / Enabling" title="Direct link to Configuration / Enabling">​</a></h2>
+<ul>
+<li>To enable Ambari Server metrics, make sure the following config file exists during Ambari Server start/restart -  /etc/ambari-server/conf/metrics.properties.</li>
+<li>Currently, only 2 metric sources have been implemented - JVM Metric Source and Database Metric Source.</li>
+<li>To add / remove a metric source to be tracked the following config needs to be modified in the metrics.properties file.<!-- -->
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">    metric.sources=jvm,database</span><br></span></code></pre><div class="buttonGroup__atx"><button type= [...]
+</li>
+<li>Source specific configs are discussed in the metrics source section.</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metric-sources">Metric Sources<a href="#metric-sources" class="hash-link" aria-label="Direct link to Metric Sources" title="Direct link to Metric Sources">​</a></h2>
+<table><thead><tr><th>Name</th><th>Functionality</th><th>Interface</th><th>Implementation(s)</th></tr></thead><tbody><tr><td>Metrics Service</td><td>Serves as a starting point for the Metrics system.<br>Loads metrics configuration.<br>Initializes the sink. If the sink is not properly initialized (AMS is not yet deployed), it tries to re-initialize every 5 minutes asynchronously.<br>Initializes and starts configured sources.</td><td>org.apache.ambari.server.metrics.system.MetricsService</ [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="jvm-metrics">JVM Metrics<a href="#jvm-metrics" class="hash-link" aria-label="Direct link to JVM Metrics" title="Direct link to JVM Metrics">​</a></h3>
+<p><strong>Working</strong></p>
+<ul>
+<li>Collects and publishes Ambari Server JVM related metrics using Codahale library.</li>
+<li>Metrics collected for GC, Buffers, Threads, Memory and File descriptor.</li>
+<li>To enable this source, add &quot;jvm&quot; to the metric.sources config in metrics.properties and restart Ambari Server.</li>
+</ul>
+<p><strong>Configs</strong></p>
+<table><thead><tr><th>Config Name</th><th>Default Value</th><th>Explanation</th></tr></thead><tbody><tr><td>source.jvm.class</td><td>org.apache.ambari.server.metrics.system.impl.JvmMetricsSource</td><td>Class used to collect JVM Metrics.</td></tr><tr><td>source.jvm.interval</td><td>10</td><td>Interval, in seconds, used to denote how often metrics should be collected.</td></tr></tbody></table>
+<p><strong>Grafana dashboard</strong></p>
+<ul>
+<li>The &#x27;Ambari Server - JVM&#x27; dashboard represents the metrics captured from the JvmMetricsSource.</li>
+<li>Contains memory, GC and threads related graphs that might be of interest on a non performing syste</li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="database-metrics">Database Metrics<a href="#database-metrics" class="hash-link" aria-label="Direct link to Database Metrics" title="Direct link to Database Metrics">​</a></h3>
+<p><strong>Working</strong></p>
+<p>The EclipseLink PeformanceMonitor has been extended to support a custom Ambari Database Metrics source. It provides us with monitoring data per entity and per operation on the entity.</p>
+<p>The Performance Monitor provides 2 kinds of metrics -</p>
+<ul>
+<li>
+<p>Counter - Number of occurrences of the operation / query. For such type of metrics, the metric name will start with Counter.</p>
+</li>
+<li>
+<p>Timer - Total cumulative time spent on the operation / query. For such type of metrics, the metric name will start with Timer.
+For example, some of the metrics being collected tothe Database Metrics Source.</p>
+</li>
+<li>
+<p>Counter.ReadObjectQuery.HostRoleCommandEntity.readHostRoleCommandEntity</p>
+</li>
+<li>
+<p>Timer.ReadAllQuery.StackEntity.StackEntity.findByNameAndVersion.ObjectBuilding</p>
+</li>
+</ul>
+<p>In addition to the Counter &amp; Timer metrics collected from EclipseLink, a computed metric of Timer/Counter (divided by) is also sent. This metrics provides the average time taken for an operation across time.</p>
+<p>For example, if</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> Counter Metric : Counter.ReadAllQuery.HostRoleCommandEntity = 10000</span><br></span><span class="token- [...]
+<p>As seen above, the computed metric name will be the same as the Timer &amp; Counter metric except without the &#x27;Timer.&#x27; / &#x27;Counter.&#x27; prefix.</p>
+<p>To enable this source, add &quot;<strong>database</strong>&quot; to the <strong>metric.sources</strong> config in metrics.properties and restart Ambari Server.</p>
+<p><strong>configs</strong></p>
+<table><thead><tr><th>Config Name</th><th>Default Value</th><th>Explanation</th></tr></thead><tbody><tr><td>source.database.class</td><td>org.apache.ambari.server.metrics.system.impl.DatabaseMetricsSource</td><td>Class used to collect Database Metrics from extended Performance Monitor class - org.apache.ambari.server.metrics.system.impl.AmbariPerformanceMonitor.</td></tr><tr><td>source.database.performance.monitor.query.weight</td><td>HEAVY</td><td>EclipseLink Performance monitor granula [...]
+<p><strong>Grafana dashboards</strong></p>
+<p>Ambari database metrics have been represented in 2 Grafana dashboards.</p>
+<ul>
+<li>&#x27;Ambari Server - Database&#x27; dashboard<!-- -->
+<ul>
+<li>An aggregate dashboard that displays Total ReadAllQuery, Cache Hits, Cache Misses, Query Stages, Query Types across all entities.</li>
+<li>It also contains an example of how to visualize Timer, Counter and Avg Timing data for a specific entity - HostRoleCommandEntity.</li>
+</ul>
+</li>
+<li>&#x27;Ambari Server - Top N Entities&#x27; dashboard<!-- -->
+<ul>
+<li>Shows Top N entities that have maximum number of ReadAllQuery operations done on them.</li>
+<li>Shows Top N entities that the database spent the most time in ReadAllQuery operations.</li>
+<li>Shows Top N entities that have maximum Cache Misses
+These dashboard graphs are meant to provide an example of how to create graphs to query specific entities or operations in an Ad Hoc manner.</li>
+</ul>
+</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="disabling-ambari-server-metrics-globally">Disabling Ambari Server metrics globally<a href="#disabling-ambari-server-metrics-globally" class="hash-link" aria-label="Direct link to Disabling Ambari Server metrics globally" title="Direct link to Disabling Ambari Server metrics globally">​</a></h2>
+<ul>
+<li>Add the following config to /etc/ambari-server/conf/ambari.properties<!-- -->
+<ul>
+<li>ambariserver.metrics.disable=true</li>
+</ul>
+</li>
+<li>Restart Ambari Server</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="related-jira">Related JIRA<a href="#related-jira" class="hash-link" aria-label="Direct link to Related JIRA" title="Direct link to Related JIRA">​</a></h2>
+<p><a href="https://issues.apache.org/jira/browse/AMBARI-17589" target="_blank" rel="noopener noreferrer">AMBARI-17589</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/metrics/ambari-server-metrics.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="cur [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/configuration/index.html b/docs/2.7.5/ambari-design/metrics/configuration/index.html
index 679fb07..8ff2b97 100644
--- a/docs/2.7.5/ambari-design/metrics/configuration/index.html
+++ b/docs/2.7.5/ambari-design/metrics/configuration/index.html
@@ -1,24 +1,115 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/configuration">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/configuration" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Configuration | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/configuration"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name=" [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Configuration | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/configuration"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docse [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-(Note: In Ambari 2.0 and 2.1, the Phoenix version does not support Alter TTL queries. So these can be modified from the UI, only at install time. Please refer to Known Issues section for workaround.)</li></ul><table><thead><tr><th>Configuration Type</th><th>File Path</th><th>Comment</th></tr></thead><tbody><tr><td>timeline.metrics.host.aggregator.ttl</td><td>86400</td><td>1 minute resolution data purge interval. Default is 1 day.</td></tr><tr><td>timeline.metrics.host.aggregator.minute.t [...]
-On wake up the aggregator threads resume from (last run time + interval) as long as last run time is not too old.</li></ul><table><thead><tr><th>Property</th><th>Default Value Path</th><th>Description</th></tr></thead><tbody><tr><td>timeline.metrics.host.aggregator.minute.interval</td><td>120</td><td>Time in seconds to sleep for the minute resolution host based aggregator. Default resolution is 2 minutes.</td></tr><tr><td>timeline.metrics.host.aggregator.hourly.interval</td><td>3600</td> [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-collector">Metrics Collector<a href="#metrics-collector" class="hash-link" aria-label="Direct link to Metrics Collector" title="Direct link to Metrics Collector">​</a></h2>
+<table><thead><tr><th>Configuration Type</th><th>File Path</th><th>Comment</th></tr></thead><tbody><tr><td>ams-site</td><td>/etc/ambari-metrics-collector/conf/ams-site.xml</td><td>Settings that control the API daemon and the aggregator threads.</td></tr><tr><td>ams-env</td><td>/etc/ambari-metrics-collector/conf/ams-env.sh</td><td>Memory / PATH settings for the API daemon</td></tr><tr><td>ams-hbase-site</td><td>/etc/ams-hbase/conf/hbase-site.xml<br>/etc/ambari-metrics-collector/conf/hbase [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-monitor">Metrics Monitor<a href="#metrics-monitor" class="hash-link" aria-label="Direct link to Metrics Monitor" title="Direct link to Metrics Monitor">​</a></h2>
+<table><thead><tr><th>Configuration Type</th><th>File Path</th><th>Comment</th></tr></thead><tbody><tr><td>ams-env</td><td>/etc/ambari-metrics-monitor/conf/ams-env.sh</td><td>Used for log and pid dir modifications, this is the same configuration as above, common to both components.</td></tr><tr><td>metric_groups</td><td>/etc/ambari-metrics-monitor/conf/metric_groups.conf</td><td>Not available in the UI. Used to control what <strong>HOST/SYSTEM</strong> metrics are reported.</td></tr><tr> [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metric-collector---ams-site---configuration-details">Metric Collector - ams-site - Configuration details<a href="#metric-collector---ams-site---configuration-details" class="hash-link" aria-label="Direct link to Metric Collector - ams-site - Configuration details" title="Direct link to Metric Collector - ams-site - Configuration details">​</a></h2>
+<ul>
+<li>Modifying retention interval for time aggregated data. Refer to Aggregation section for more information on aggregation: API spec
+(Note: In Ambari 2.0 and 2.1, the Phoenix version does not support Alter TTL queries. So these can be modified from the UI, only at install time. Please refer to Known Issues section for workaround.)</li>
+</ul>
+<table><thead><tr><th>Configuration Type</th><th>File Path</th><th>Comment</th></tr></thead><tbody><tr><td>timeline.metrics.host.aggregator.ttl</td><td>86400</td><td>1 minute resolution data purge interval. Default is 1 day.</td></tr><tr><td>timeline.metrics.host.aggregator.minute.ttl</td><td>604800</td><td>Host based X minutes resolution data purge interval. Default is 7 days.<br>(X = configurable interval, default interval is 2 minutes)</td></tr><tr><td>timeline.metrics.host.aggregator [...]
+<ul>
+<li>Modifying the aggregation intervals for HOST and CLUSTER aggregators.
+On wake up the aggregator threads resume from (last run time + interval) as long as last run time is not too old.</li>
+</ul>
+<table><thead><tr><th>Property</th><th>Default Value Path</th><th>Description</th></tr></thead><tbody><tr><td>timeline.metrics.host.aggregator.minute.interval</td><td>120</td><td>Time in seconds to sleep for the minute resolution host based aggregator. Default resolution is 2 minutes.</td></tr><tr><td>timeline.metrics.host.aggregator.hourly.interval</td><td>3600</td><td>Time in seconds to sleep for the hourly resolution host based aggregator. Default resolution is 1 hour.</td></tr><tr><t [...]
+<ul>
+<li>Modifying checkpoint information. The aggregators store the timestamp or last run time on local FS.
 After reading last run time, the aggregator thread decides to aggregate as long as the (currentTime - lastRunTime) &lt; multipler * aggregation_interval.
-The multiplier is configurable for each aggregator.</li></ul><table><thead><tr><th>Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td>timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier</td><td>2</td><td>Multiplier value * interval = Max allowed checkpoint lag. Effectively if aggregator checkpoint is greater than max allowed checkpoint delay,the checkpoint will be discarded by the aggregator.</td></tr><tr><td>timeline.metrics.host.aggregator [...]
-(Note: /user/ams/hbase here is the directory where metric data will be stored in HDFS)</li><li>Set hbase.cluster.distributed = true</li><li>Add dfs.client.read.shortcircuit = true (This is an optimization with a local DN present)</li></ul></li><li>Restart Metrics Collector</li></ol><p><strong>Note</strong>: In Ambari 2.0.x, there is a bug in deploying AMS in distributed mode, if Namenode HA is enabled. Please follow the instruction listed in this JIRA as workaround steps: (<a href="https [...]
-client port : 8020 (if different, replace it with appropriate port in all keys)Things to consider:</p><ul><li>service port: 8021 (if different, replace it with appropriate port in first value)</li><li>namenodehost: needs to be a FQDN.
+The multiplier is configurable for each aggregator.</li>
+</ul>
+<table><thead><tr><th>Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td>timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier</td><td>2</td><td>Multiplier value * interval = Max allowed checkpoint lag. Effectively if aggregator checkpoint is greater than max allowed checkpoint delay,the checkpoint will be discarded by the aggregator.</td></tr><tr><td>timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier</td><td>2</td><td>Same as  [...]
+<ul>
+<li>Other important configuration properties</li>
+</ul>
+<table><thead><tr><th>Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td>timeline.metrics.host.aggregator.*.disabled</td><td>false</td><td>Disable host based * aggregations. ( * =&gt; minute/hourly/daily)</td></tr><tr><td>timeline.metrics.cluster.aggregator.*.disabled</td><td>false</td><td>Disable cluster based * aggregations. ( * =&gt; minute/hourly/daily)</td></tr><tr><td>timeline.metrics.cluster.aggregator.minute.timeslice.interval</td><td>30</td><td>Lo [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuring-ambari-metrics-service-in-distributed-mode">Configuring Ambari Metrics service in distributed mode<a href="#configuring-ambari-metrics-service-in-distributed-mode" class="hash-link" aria-label="Direct link to Configuring Ambari Metrics service in distributed mode" title="Direct link to Configuring Ambari Metrics service in distributed mode">​</a></h2>
+<p>In distributed mode, Metric Collector writes go to HDFS of the cluster. Currently distributed mode does not support multi-mode Metric Collector, however the plan is to allow Metric Collector to scale horizontally to allow a multi-node HBase storage layer.</p>
+<p><strong>Note</strong>: Make sure there is a local Datanode hosted with the Collector, it provides AMS HBase the distinct advantage of write and reads sharded across the data volumes available to the DN.</p>
+<p>Following steps need to be performed either at install time or after deploy to configure Metric Collector in distributed mode. Note: If configuring after install, the data will not be automatically copied over to HDFS.</p>
+<ol>
+<li>Edit ams-site, Set timeline.metrics.service.operation.mode = distributed</li>
+<li>Edit ams-hbase-site,<!-- -->
+<ul>
+<li>Set hbase.rootdir = hdfs://namenode-host;:8020/user/ams/hbase [ If NN HA is enabled,     hdfs://nameservice-id/user/ams/hbase ]
+(Note: /user/ams/hbase here is the directory where metric data will be stored in HDFS)</li>
+<li>Set hbase.cluster.distributed = true</li>
+<li>Add dfs.client.read.shortcircuit = true (This is an optimization with a local DN present)</li>
+</ul>
+</li>
+<li>Restart Metrics Collector</li>
+</ol>
+<p><strong>Note</strong>: In Ambari 2.0.x, there is a bug in deploying AMS in distributed mode, if Namenode HA is enabled. Please follow the instruction listed in this JIRA as workaround steps: (<a href="https://issues.apache.org/jira/browse/AMBARI-10707" target="_blank" rel="noopener noreferrer">AMBARI-10707</a>)</p>
+<p><strong>Note</strong>: In Ambari 2.2.1, stack advisor changes the dependent configs for distributed mode automatically through recommendations. Ideally, the only config that needs to be changed is timeline.metrics.service.operation.mode = distributed. The other configs - hbase.rootdir, hbase.cluster.distributed and dfs.client.read.shortcircuit will be changed automatically.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="migrating-data-from-embedded-to-distributed-mode">Migrating data from embedded to distributed mode<a href="#migrating-data-from-embedded-to-distributed-mode" class="hash-link" aria-label="Direct link to Migrating data from embedded to distributed mode" title="Direct link to Migrating data from embedded to distributed mode">​</a></h2>
+<p>Steps to migrate existing metric data to HDFS and starting AMS in distributed mode:</p>
+<ul>
+<li>
+<p>Stop AMS Metric Collector</p>
+</li>
+<li>
+<p>Create hdfs directory for ams user, Example:</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">su</span><span class="token plain"> - hdfs </span><span class="tok [...]
+</li>
+<li>
+<p>Copy the metric data from the AMS local directory (existing value of hbase.rootdir in ams-hbase-site) to HDFS directory. Example:</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> /var/lib/ambari-metrics-collector/</span>< [...]
+</li>
+<li>
+<p>Start the Metric Collector after making the changes needed for distributed mode.</p>
+</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enabling-hbase-region-user-and-table-metrics">Enabling HBase Region, User and Table Metrics<a href="#enabling-hbase-region-user-and-table-metrics" class="hash-link" aria-label="Direct link to Enabling HBase Region, User and Table Metrics" title="Direct link to Enabling HBase Region, User and Table Metrics">​</a></h2>
+<p>Ambari disables HBase metrics (per region, per user and per table) by default. HBase metrics can be numerous and can cause performance issues. HBase RegionServer metrics are available by default.</p>
+<p>If you want HBase (per region, per user and per table) metrics to be collected by Ambari, you can do the following. It is <strong>highly recommended</strong> that you test turning on this option and confirm that your AMS performance is acceptable.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-by-step-guide">Step-by-step guide<a href="#step-by-step-guide" class="hash-link" aria-label="Direct link to Step-by-step guide" title="Direct link to Step-by-step guide">​</a></h3>
+<ol>
+<li>
+<p>On the Ambari Server, browse to:</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">var/lib/ambari-server/resources/stacks/HDP/3.0/services/HBASE/     package/templates</span> [...]
+</li>
+<li>
+<p>When Ambari is older than 2.7.0, on the Ambari Server, browse to:</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">var/lib/ambari-server/resources/common-services/HBASE/     </span><span class="token variab [...]
+</li>
+<li>
+<p>Edit the following template files:</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2</span><br></span><span class="token-line [...]
+</li>
+<li>
+<p>Comment out (or remove) the following lines:</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">*.source.filter.class</span><span class="token operator" style="color:#393A34">=</span><spa [...]
+</li>
+<li>
+<p>Save the template files and restart Ambari Server and then HBase for the changes to take effect.</p>
+</li>
+</ol>
+<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.6 [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enabling-hdfs-per-user-metrics">Enabling HDFS per-user Metrics<a href="#enabling-hdfs-per-user-metrics" class="hash-link" aria-label="Direct link to Enabling HDFS per-user Metrics" title="Direct link to Enabling HDFS per-user Metrics">​</a></h2>
+<p>HDFS per-user Metrics aren&#x27;t emitted by default. Kindly exercise caution before enabling them and make sure to refer to the details of client and service port numbers.</p>
+<p>To be able to use the HDFS - Users dashboard in your Grafana instance as well as to view metrics for HDFS per user, you will need to add these custom properties to your configuration.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-by-step-guide-1">Step-by-step guide<a href="#step-by-step-guide-1" class="hash-link" aria-label="Direct link to Step-by-step guide" title="Direct link to Step-by-step guide">​</a></h3>
+<p>In Ambari, HDFS &gt; Configs &gt; Advanced &gt;  Custom hdfs-site, Add the following properties.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">dfs.namenode.servicerpc-address=&lt;namenodehost&gt;:8021</span><br></span><span class="token-line" style [...]
+<p><strong>Things to Consider</strong>
+client port : 8020 (if different, replace it with appropriate port in all keys)Things to consider:</p>
+<ul>
+<li>service port: 8021 (if different, replace it with appropriate port in first value)</li>
+<li>namenodehost: needs to be a FQDN.
 Once these properties are added, it should look like this.
-<img loading="lazy" src="/assets/images/enabling-hdfs-user-metrics-42982ec96b46e9d429089590bec0fb01.png" title="Enabling Hdfs User Metrics" width="2002" height="998" class="img_ev3q"></li></ul><p><strong>Restart HDFS &amp; you should see the metrics being emitted. You should now also be able to use the HDFS - Users Dashboard in Grafana.</strong></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://git [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<img decoding="async" loading="lazy" src="/assets/images/enabling-hdfs-user-metrics-42982ec96b46e9d429089590bec0fb01.png" title="Enabling Hdfs User Metrics" width="2002" height="998" class="img_ev3q"></li>
+</ul>
+<p><strong>Restart HDFS &amp; you should see the metrics being emitted. You should now also be able to use the HDFS - Users Dashboard in Grafana.</strong></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/metrics/configuration.mdx" target="_blank" rel="noopener noreferrer" class="theme-edit- [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/index.html b/docs/2.7.5/ambari-design/metrics/index.html
index a564e6c..1f11ac5 100644
--- a/docs/2.7.5/ambari-design/metrics/index.html
+++ b/docs/2.7.5/ambari-design/metrics/index.html
@@ -1,16 +1,22 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/index">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/index" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Metrics | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Metrics | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" cont [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p><strong>Ambari Metrics System</strong> (&quot;AMS&quot;) is a system for collecting, aggregating and serving Hadoop and system metrics in Ambari-managed clusters.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="terminology">Terminology<a href="#terminology" class="hash-link" aria-label="Direct link to Terminology" title="Direct link to Terminology">​</a></h2>
+<table><thead><tr><th>Term</th><th>Definition</th></tr></thead><tbody><tr><td>Ambari Metrics System (“AMS”)</td><td>The built-in metrics collection system for Ambari.</td></tr><tr><td>Metrics Collector</td><td>The standalone server that collects metrics, aggregates metrics, serves metrics from the Hadoop service sinks and the Metrics Monitor.</td></tr><tr><td>Metrics Monitor</td><td>Installed on each host in the cluster to collect system-level metrics and forward to the Metrics Collector [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="architecture">Architecture<a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture">​</a></h2>
+<p>Following image depicts the high level conceptual architecture of the new Ambari Metrics System:</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/ams-arch-e1f8a953ce31cdf3b26cd39c3ebac341.jpg" title="AMS Arch" width="955" height="443" class="img_ev3q"></p>
+<p>The <strong>Metrics Collector</strong> is daemon that receives data from registered publishers (the Monitors and Sinks). The Collector itself is build using Hadoop technologies such as HBase Phoenix and ATS. The Collector can store data on the local filesystem (referred to as &quot;embedded mode&quot;) or use an external HDFS (referred to as &quot;distributed mode&quot;).</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="learn-more">Learn More<a href="#learn-more" class="hash-link" aria-label="Direct link to Learn More" title="Direct link to Learn More">​</a></h2>
+<p>Browse the following to learn more about the <a href="/docs/2.7.5/ambari-design/metrics/metrics-api-specification">Ambari Metrics REST API</a> specification and about advanced <a href="/docs/2.7.5/ambari-design/metrics/configuration">Configuration</a> of AMS.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/metrics-api-specification/index.html b/docs/2.7.5/ambari-design/metrics/metrics-api-specification/index.html
index f1507d2..3a44f17 100644
--- a/docs/2.7.5/ambari-design/metrics/metrics-api-specification/index.html
+++ b/docs/2.7.5/ambari-design/metrics/metrics-api-specification/index.html
@@ -1,16 +1,37 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/metrics-api-specification">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/metrics-api-specification" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Ambari Metrics API specification | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/metrics-api-specification"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content=" [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Ambari Metrics API specification | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/metrics-api-specification"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en">< [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>Broadly, the types of metrics queries supported are: <strong>time range</strong> or <strong>point in time</strong>.</p>
+<p>Following is an illustration of an API call that fetches metrics from the Metrics backend service using Ambari API.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cluster">CLUSTER<a href="#cluster" class="hash-link" aria-label="Direct link to CLUSTER" title="Direct link to CLUSTER">​</a></h2>
+<p>E.g.: Dashboard metrics : Fetch load average across all nodes of a cluster</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;ambari-server&gt;:8080/api/v1/clusters/&lt;cluster-name&gt;?fields=metrics/load[1430844925,143 [...]
+<p>The above API call retrieves the load average, aggregated across all hosts in the cluster.</p>
+<p>The request part of the API call selects the cluster instance while the predicate includes the metric with the time range query, followed by current time in milliseconds.</p>
+<p>Time range query:</p>
+<table><thead><tr><th>Field</th><th>Value</th><th>Comment</th></tr></thead><tbody><tr><td>Start time</td><td>1430844925</td><td>Start time for the time range. (Epoch)</td></tr><tr><td>End time</td><td>1430848525</td><td>End time of the time range. (Epoch)</td></tr><tr><td>Step</td><td>15</td><td>Default step, this is used only for zero padding or null padding if the padding interval cannot be determined from the retrieved data.</td></tr></tbody></table>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="host">HOST<a href="#host" class="hash-link" aria-label="Direct link to HOST" title="Direct link to HOST">​</a></h2>
+<p>E.g.: Host metrics: Get the cpu utilization on a particular host in the cluster</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;ambari-server&gt;:8080/api/v1/clusters/&lt;cluster-name&gt;/hosts/&lt;host-name&gt;?fields=met [...]
+<p>The above API call retrieves all cpu related metrics required to chart out cpu utilization on a host page.</p>
+<p>The request part of the above API call selects the host which is queried while the predicate part includes the metric names with time range query.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="component">COMPONENT<a href="#component" class="hash-link" aria-label="Direct link to COMPONENT" title="Direct link to COMPONENT">​</a></h2>
+<p>E.g.: Service metrics: Get the capacity utilization metrics aggregated across all datanodes but only the latest value (point in time)</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> http://&lt;ambari-server&gt;:8080/api/v1/clusters/&lt;cluster-name&gt;/services/HDFS/components/DATANODE [...]
+<p>The above API call retrieves two metrics values which represent the point in time metric value for the requested metrics obtained for the Metrics Service backend. (non JMX)</p>
+<p>For a call to get JMX metrics directly from a Hadoop daemon, use the metrics name that corresponds to the JMX MBean metric, example: metrics/dfs/FSNamesystem/CapacityUsedGB (Refer to Stack Defined Metrics for more info)</p>
+<p>The request part of the above API call selects the service from the cluster while predicate part includes the metrics names.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="host-component">HOST COMPONENT<a href="#host-component" class="hash-link" aria-label="Direct link to HOST COMPONENT" title="Direct link to HOST COMPONENT">​</a></h2>
+<p>E.g.: Daemon metrics: Get the heap memory usage for active Namenode</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;ambari-server&gt;:8080/api/v1/clusters/&lt;cluster-name&gt;/hosts/&lt;host-name&gt;/host_compo [...]
+<p>The request part of the api selects the Namenode host component while predicate part includes metrics with time range query.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/metrics/metrics-api-specification.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg  [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/metrics-collector-api-specification/index.html b/docs/2.7.5/ambari-design/metrics/metrics-collector-api-specification/index.html
index 813f301..17d714a 100644
--- a/docs/2.7.5/ambari-design/metrics/metrics-collector-api-specification/index.html
+++ b/docs/2.7.5/ambari-design/metrics/metrics-collector-api-specification/index.html
@@ -1,19 +1,88 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/metrics-collector-api-specification">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/metrics-collector-api-specification" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Metrics Collector API Specification | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/metrics-collector-api-specification"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:langua [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Metrics Collector API Specification | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/metrics-collector-api-specification"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" c [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-Examples </p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=regionserver.Server.totalRequestCount._avg,regionserver.Server.writeRequest [...]
-Examples </p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=regionserver.Server.totalRequestCount._rate,regionserver.Server.writeReques [...]
-Example</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=regionserver.Server.totalRequestCount._max&amp;hostname=abc.testdomain124.de [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="sending-metrics-to-ams-post">Sending Metrics to AMS (POST)<a href="#sending-metrics-to-ams-post" class="hash-link" aria-label="Direct link to Sending Metrics to AMS (POST)" title="Direct link to Sending Metrics to AMS (POST)">​</a></h2>
+<p>Sending metrics to Ambari Metrics Service can be achieved through the following API call.</p>
+<p>The Sink implementations responsible for sending metrics to AMS, buffer data for 1 minute before sending. TimelineMetricCache provides a simple cache implementation to achieve this behavior.</p>
+<p>Sample sink implementation use by Hadoop daemons: <a href="https://github.com/apache/ambari/tree/trunk/ambari-metrics/ambari-metrics-hadoop-sink" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/tree/trunk/ambari-metrics/ambari-metrics-hadoop-sink</a></p>
+<div class="language-uri codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-uri codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST http://&lt;ambari-metrics-collector&gt;:6188/ws/v1/timeline/metrics</span><br></span></c [...]
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Connecting (POST) to &lt;ambari-metrics-collector&gt;:6188/ws/v1/timeline/metrics/</span><br></span><span [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="fetching-metrics-from-ams-get">Fetching Metrics from AMS (GET)<a href="#fetching-metrics-from-ams-get" class="hash-link" aria-label="Direct link to Fetching Metrics from AMS (GET)" title="Direct link to Fetching Metrics from AMS (GET)">​</a></h2>
+<p><strong>Sample call</strong></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">GET http://&lt;ambari-metrics-collector&gt;:6188/ws/v1/timeline/metrics?metricNames=AMBARI_METRICS.SmokeT [...]
+<p><strong>Generic GET call format</strong></p>
+<div class="language-uri codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-uri codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=&lt;&gt;&amp;hostname=&lt;&gt [...]
+<p><strong>Query Parameters Explanation</strong></p>
+<table><thead><tr><th>Parameter</th><th>Optional/Mandatory</th><th>Explanation</th><th>Values it can take</th></tr></thead><tbody><tr><td>metricNames</td><td>Mandatory Comma</td><td>separated list of metrics that are required.</td><td>disk_free,mem_free... etc</td></tr><tr><td>appId</td><td>Mandatory</td><td>The AppId that corresponds to the metricNames that were requested. Currently, only 1 AppId is required and allowed.</td><td>HOST/namenode/datanode/nimbus/hbase/kafka_broker/FLUME_HAN [...]
+<p><strong>Precision query parameter (Default resolution)</strong></p>
+<table class="confluenceTable"><colgroup><col><col><col></colgroup><tbody><tr><th class="confluenceTh"><p><span>Query Time</span></p><p><span>range</span></p></th><th class="confluenceTh"><p><span>Resolution of </span><span>returned metrics</span></p></th><th class="confluenceTh"><p><span>Comments</span></p></th></tr><tr><td class="confluenceTd"><p><span>Upto 2 hours</span></p></td><td class="confluenceTd"><p><span>SECONDS</span></p></td><td class="confluenceTd"><ul><li><span><span>10 se [...]
+<p><strong>Specifying Aggregate Functions</strong></p>
+<p>The metricName can have a specific aggregate function qualifier after the metricName (as shown below) to request specific aggregates. Valid values are ._avg, ._max, ._min, ._sum. When an aggregate query is requested without an aggregate function in the metricName, the default is AVG.
+Examples</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=regionserver.Server.totalRequestCount._av [...]
+<p><strong>Specifying Post processing Functions</strong></p>
+<p>Similar to aggregate functions, post processing functions can also be specified. Currently, we have 2 post processing functions - rate (Rate per second) and diff (difference between consecutive values). Post processing functions can also be applied after aggregate functions.
+Examples</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=regionserver.Server.totalRequestCount._ra [...]
+<p><strong>Specifying Wild Cards</strong></p>
+<p>Both metricNames and hostname take wildcard (%) values for a group of metric (or hosts). A query can have a combination of full metric names and names with wildcards also.</p>
+<p>Examples</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=regionserver.Server.%&amp;appId=hbase&amp [...]
+<p><strong>Downsampling</strong></p>
+<p>As discussed before, AMS downsamples data when higher time ranges are requested. The default &quot;downsampled across time&quot; data returned is AVG. Specific downsamples can be requested by adding the aggregate function qualifiers ( ._avg, ._max, ._min, ._sum ) to the metric names the same way like requesting aggregates across the cluster.
+Example</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics?metricNames=regionserver.Server.totalRequestCount._m [...]
+<p>The above query returns 5 minute data for the metric, where the data point value is the MAX of the values found in every 5 minute range.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="ams-metadata-api">AMS Metadata API<a href="#ams-metadata-api" class="hash-link" aria-label="Direct link to AMS Metadata API" title="Direct link to AMS Metadata API">​</a></h2>
+<p>AMS has 2 metadata endpoints that are useful for finding out the set of metrics it received, as well as the topology of the cluster.</p>
+<p><strong>METRICS METADATA</strong></p>
+<p>Endpoint :</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics/metadata</span><br></span></code></pre><div class="b [...]
+<p>Data returned : A mapping between the set of APP_IDs to the list of metrics received with that AppId.</p>
+<p>Sample data returned</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/metrics-metadata-743e7d6996525df1e402c9717c67a883.png" width="1218" height="618" class="img_ev3q"></p>
+<p><strong>HOSTS METADATA</strong></p>
+<p>Endpoint :</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> http://&lt;AMS_HOST&gt;:6188/ws/v1/timeline/metrics/hosts</span><br></span></code></pre><div class="butt [...]
+<p>Data returned : A mapping between the hosts in the cluster and the set of APP_IDs on the host.</p>
+<p>Sample data returned</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/hosts-metadata-ae5251d1eadb22f289b0f95b0a308ff1.png" width="848" height="1022" class="img_ev3q"></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="guide-to-writing-your-own-sink">Guide to writing your own Sink<a href="#guide-to-writing-your-own-sink" class="hash-link" aria-label="Direct link to Guide to writing your own Sink" title="Direct link to Guide to writing your own Sink">​</a></h2>
+<ul>
+<li>Include the ambari-metrics-common artifacts from source or maven-central (when available) into your project</li>
+<li>Find below helpful info regarding common data-structures to use from the ambari-metrics-common module</li>
+<li>Extend the org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink class and implement the required methods</li>
+<li>Use the org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache to store intermediate data until it is time to send (example: collection interval = 10 seconds, send interval = 1 minute). The cache implementation provides the logic needed for buffering and local aggregation.</li>
+<li>Use org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink#emitMetrics to send metrics to AMS backend.</li>
+</ul>
+<p><strong>METRIC DATA STRUCTURE</strong></p>
+<p>Source location for common data structures module: <a href="https://github.com/apache/ambari/tree/trunk/ambari-metrics/ambari-metrics-common/" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/tree/trunk/ambari-metrics/ambari-metrics-common/</a></p>
+<p>Example sink implementation: <a href="https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-hadoop-sink/" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/blob/trunk/ambari-metrics/ambari-metrics-hadoop-sink/</a></p>
+<p><img decoding="async" loading="lazy" src="/assets/images/metrics-datastructure-0a1bb015473da49e72bc088e16529e60.png" width="1062" height="528" class="img_ev3q"></p>
+<p><strong>INTERNAL PHOENIX KEY STRUCTURE</strong></p>
+<p>The Metric Record Key data structure is described below:</p>
+<table><thead><tr><th>Property</th><th>Type</th><th>Comment</th><th>Optional</th></tr></thead><tbody><tr><td>Metric Name</td><td>String</td><td>First key part, important consideration while querying from HFile storage</td><td>N</td></tr><tr><td>Hostname</td><td>String</td><td>Second key part</td><td>N</td></tr><tr><td>Server time</td><td>Long</td><td>Timestamp on server when first metric write request was received</td><td>N</td></tr><tr><td>Application Id</td><td>String</td><td>Uniquely  [...]
+<p><strong>HOW AGGREGATION WORKS</strong></p>
+<ul>
+<li>The granularity of aggregate data can be controlled by setting wake up interval for each of the aggregator threads.</li>
+<li>Presently we support 2 types of aggregators, HOST and APPLICATION with 3 time dimensions, per minute, per hour and per day.<!-- -->
+<ul>
+<li>The HOST aggregates are just aggregates on precision data across the supported time dimensions.</li>
+<li>The APP aggregates are across appId. Note: We ignore instanceId for APP level aggregates. Same time dimensions apply for APP level aggregates.</li>
+<li>We also support HOST level metrics for APP, meaning you can expect a system metric example: &quot;cpu_user&quot; to be aggregated across datanodes, effectively calculating system metric for hosted apps.</li>
+</ul>
+</li>
+<li>Each aggregator performs checkpointing by storing last successful time of completion in a file. If the checkpoint is too old, the aggregators will discard checkpoint and aggregate data for the configured interval, meaning data in between (now - interval) time.</li>
+<li>Refer to <a href="/docs/2.7.5/ambari-design/metrics/operations">Phoenix table schema</a> for details of tables and records.</li>
+</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/metrics/metrics-collector-api-specification.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d=" [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/operations/index.html b/docs/2.7.5/ambari-design/metrics/operations/index.html
index 5cb42e0..a6f2668 100644
--- a/docs/2.7.5/ambari-design/metrics/operations/index.html
+++ b/docs/2.7.5/ambari-design/metrics/operations/index.html
@@ -1,21 +1,71 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/operations">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/operations" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Operations | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/operations"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusa [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Operations | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/operations"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:l [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-Stop command</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">su</span><span class="token plain"> - ams -c </span><span class="token string" style="color:#e311 [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-collector">Metrics Collector<a href="#metrics-collector" class="hash-link" aria-label="Direct link to Metrics Collector" title="Direct link to Metrics Collector">​</a></h2>
+<p><strong>Pid file locations</strong></p>
+<table><thead><tr><th>Daemon</th><th>Default User</th><th>Pid File Path</th></tr></thead><tbody><tr><td>Metrics Collector API</td><td>ams</td><td>/var/run/ambari-metrics-collector/ambari-metrics-collector.pid</td></tr><tr><td>Metrics Collector Hbase</td><td>ams</td><td>/var/run/ambari-metrics-collector/hbase-ams-master.pid</td></tr></tbody></table>
+<p><strong>Log file locations</strong></p>
+<table><thead><tr><th>Daemon</th><th>Log File Path</th></tr></thead><tbody><tr><td>Metrics Collector API</td><td>/var/log/ambari-metrics-collector/ambari-metrics-collector.log<br>/var/log/ambari-metrics-collector/ambari-metrics-collector.out</td></tr><tr><td>Metrics Collector HBase</td><td>/var/log/ambari-metrics-collector/hbase-ams-master-&lt;hostname&gt;.log<br>/var/log/ambari-metrics-collector/hbase-ams-master-&lt;hostname&gt;.out</td></tr></tbody></table>
+<p><strong>Manually restart Metrics Collector</strong></p>
+<p>Stop command</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">su</span><span class="token plain"> - ams </span><span class="toke [...]
+<p>Start command</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">su</span><span class="token plain"> - ams </span><span class="toke [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="metrics-monitor">Metrics Monitor<a href="#metrics-monitor" class="hash-link" aria-label="Direct link to Metrics Monitor" title="Direct link to Metrics Monitor">​</a></h2>
+<p><strong>Pid File location</strong></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/var/run/ambari-metrics-monitor/ambari-metrics-monitor.pid</span><br></span></code></pre><div class="butt [...]
+<p><strong>Log File location</strong></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/var/log/ambari-metrics-monitor/ambari-metrics-monitor.out</span><br></span></code></pre><div class="butt [...]
+<p><strong>Manually restart Metrics Monitor</strong>
+Stop command</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">su</span><span class="token plain"> - ams </span><span class="toke [...]
+<p>Start command</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">su</span><span class="token plain"> - ams </span><span class="toke [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="build-instructions">Build Instructions<a href="#build-instructions" class="hash-link" aria-label="Direct link to Build Instructions" title="Direct link to Build Instructions">​</a></h2>
+<p>The ambari-metrics-assembly package builds the assemblies (rpm/deb/msi) for various platforms.</p>
+<p>Following binaries can be found in the ambari-metrics-assembly/target folder after build is successful.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-metrics-collecor-&lt;ambari-version&gt;.&lt;arch&gt;</span><br></span><span class="token-line" sty [...]
+<p><strong>Note</strong>: Ambari Metrics needs to be built before Ambari Server</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rpm-packages">RPM packages<a href="#rpm-packages" class="hash-link" aria-label="Direct link to RPM packages" title="Direct link to RPM packages">​</a></h3>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> ambari-metrics</span><br></span><span clas [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="debian-packages">Debian packages<a href="#debian-packages" class="hash-link" aria-label="Direct link to Debian packages" title="Direct link to Debian packages">​</a></h3>
+<p>Same instruction as above, change the maven target to build-deb</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="windows-msi">Windows msi<a href="#windows-msi" class="hash-link" aria-label="Direct link to Windows msi" title="Direct link to Windows msi">​</a></h3>
+<p>TBU</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="command-line-parameters">Command line parameters<a href="#command-line-parameters" class="hash-link" aria-label="Direct link to Command line parameters" title="Direct link to Command line parameters">​</a></h3>
+<table><thead><tr><th>Parameter</th><th>Default Value</th><th>Comment</th></tr></thead><tbody><tr><td>hbase.tar</td><td><a href="http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/tars/hbase-1.1.1.2.3.0.0-2557.tar.gz" target="_blank" rel="noopener noreferrer">http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/tars/hbase-1.1.1.2.3.0.0-2557.tar.gz</a></td><td>HBase tarball. This is default version for Ambari 2.1.2</td></tr><tr><td>hbase.folder</td><td>hb [...]
+<p><strong>Note</strong></p>
+<p>After the change introducted by  <a href="https://issues.apache.org/jira/browse/AMBARI-18915" target="_blank" rel="noopener noreferrer">AMBARI-18915</a> - Update AMS pom to use Apache hbase,hadoop,phoenix tarballs REOPENED AMS uses hadoop tars downloaded from Apache by default. Since that version of libhadoop is not built with libsnappy, the following config change in ams-site is needed to make AMS start up correctly.</p>
+<p><strong>timeline.metrics.hbase.compression.scheme = None</strong></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="disk-space-utilization-guidance">Disk space utilization guidance<a href="#disk-space-utilization-guidance" class="hash-link" aria-label="Direct link to Disk space utilization guidance" title="Direct link to Disk space utilization guidance">​</a></h2>
+<table><thead><tr><th>Num of Nodes</th><th>METRIC_RECORD (MB)</th><th>METRIC_RECORD_MINUTE (MB)</th><th>METRIC_RECORD_HOURLY (MB)</th><th>METRIC_RECORD_DAILY (MB)</th><th>METRIC_AGGREGATE (MB)</th><th>METRIC_AGGREGATE_MINUTE (MB)</th><th>METRIC_AGGREGATE_HOURLY (MB)</th><th>METRIC_AGGREGATE_DAILY (MB)</th><th>TOTAL (GB)</th></tr></thead><tbody><tr><td>50</td><td>5120</td><td>2700</td><td>245</td><td>10</td><td>1500</td><td>305</td><td>28</td><td>1</td><td>10</td></tr><tr><td>100</td><td> [...]
+<p><strong>NOTE</strong>:</p>
+<p>The above guidance has been derived from looking at AMS disk utilization in actual clusters.
 The ACTUAL numbers have been obtained by observing an actual cluster with the basic services (HDFS, YARN, HBase) installed along with Storm, Kafka and Flume.
-Kafka and Flume generate metrics only while a job is running. If those services are being used heavily, additional disk space is recommended. We ran sample jobs with STORM and KAFKA while deriving these numbers to make sure there is some contribution.</p><p><strong>Actual disk utilization data</strong></p><table><thead><tr><th>Num of Nodes</th><th>METRIC_RECORD (MB)</th><th>METRIC_RECORD_MINUTE (MB)</th><th>METRIC_RECORD_HOURLY (MB)</th><th>METRIC_RECORD_DAILY (MB)</th><th>METRIC_AGGREGA [...]
+Kafka and Flume generate metrics only while a job is running. If those services are being used heavily, additional disk space is recommended. We ran sample jobs with STORM and KAFKA while deriving these numbers to make sure there is some contribution.</p>
+<p><strong>Actual disk utilization data</strong></p>
+<table><thead><tr><th>Num of Nodes</th><th>METRIC_RECORD (MB)</th><th>METRIC_RECORD_MINUTE (MB)</th><th>METRIC_RECORD_HOURLY (MB)</th><th>METRIC_RECORD_DAILY (MB)</th><th>METRIC_AGGREGATE (MB)</th><th>METRIC_AGGREGATE_MINUTE (MB)</th><th>METRIC_AGGREGATE_HOURLY (MB)</th><th>METRIC_AGGREGATE_DAILY (MB)</th><th>TOTAL (GB)</th></tr></thead><tbody><tr><td>2</td><td>120</td><td>175</td><td>17</td><td>1</td><td>545</td><td>136</td><td>16</td><td>1</td><td>1</td></tr><tr><td>3</td><td>294</td>< [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="phoenix-schema">Phoenix Schema<a href="#phoenix-schema" class="hash-link" aria-label="Direct link to Phoenix Schema" title="Direct link to Phoenix Schema">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="phoenix-tables">Phoenix Tables<a href="#phoenix-tables" class="hash-link" aria-label="Direct link to Phoenix Tables" title="Direct link to Phoenix Tables">​</a></h3>
+<table><thead><tr><th>Table Name</th><th>Description</th><th>Purge Interval(default)</th></tr></thead><tbody><tr><td>METRIC_RECORD</td><td>Data per metric per host at 10 seconds precision with 1 minute aggregates.</td><td>1 day</td></tr><tr><td>METRIC_RECORD_MINUTE</td><td>Data per metric per host at 5 minute precision</td><td>1 week</td></tr><tr><td>METRIC_RECORD_HOURLY</td><td>Data per metric per host at 1 hour precision</td><td>30 days</td></tr><tr><td>METRIC_RECORD_DAILY</td><td>Data [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="connecting-to-phoenix">Connecting to Phoenix<a href="#connecting-to-phoenix" class="hash-link" aria-label="Direct link to Connecting to Phoenix" title="Direct link to Connecting to Phoenix">​</a></h3>
+<ul>
+<li>Unpack Phoenix (4.2.0+) tarball onto the Metric Collector host</li>
+<li>Change director to phonenix-4.*/bin</li>
+<li>Edit sqlline.py and search for &quot;java&quot;,  replace java with full path to the java executable, example: &quot;/usr/jdk64/jdk1.8.0_40/bin/java&quot;</li>
+<li>Connect command:
 Ambari versions 2.2.0 and below : ./sqlline.py localhost:61181:/hbase
-Ambari versions &gt; 2.2.0  : </li></ul><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">./sqlline.py localhost:61181:/ams-hbase-unsecure </span><span class="token punctuation" style="col [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+Ambari versions &gt; 2.2.0  :</li>
+</ul>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">./sqlline.py localhost:61181:/ams-hbase-unsecure </span><span class="token punctuation" sty [...]
+<p><img decoding="async" loading="lazy" src="/assets/images/connect-phoenix-9e9ee4da01440af51806ce2aa4372809.png" title="Connect Phoenix" width="563" height="176" class="img_ev3q"></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/metrics/operations.md" target="_blank" rel="noopener noreferr [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/stack-defined-metrics/index.html b/docs/2.7.5/ambari-design/metrics/stack-defined-metrics/index.html
index 28b8646..ffdbb53 100644
--- a/docs/2.7.5/ambari-design/metrics/stack-defined-metrics/index.html
+++ b/docs/2.7.5/ambari-design/metrics/stack-defined-metrics/index.html
@@ -1,16 +1,33 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/stack-defined-metrics">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/stack-defined-metrics" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Stack Defined Metrics | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/stack-defined-metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data- [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Stack Defined Metrics | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/stack-defined-metrics"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="t [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>The Ambari Stack definition represents the complete declarative description of Services that are comprised in a cluster.</p>
+<p>The stack definition also contains a definition file for all metrics that are supported by the Service.</p>
+<p>Presently the metrics.json describes the mapping between the metrics name requested in the REST API and the metrics name to use for making a call to the Metrics Service.</p>
+<p>Location of the <strong>metrics.json</strong> in the stack:</p>
+<table><thead><tr><th>Level</th><th>Location</th><th>Comment</th></tr></thead><tbody><tr><td>Cluster &amp; Host</td><td>ganglia_properties.json</td><td>Presently, this file defines metrics for Host Component and Service Components as well but these are only used for older versions of stack &lt; 2.0 and unit tests.</td></tr><tr><td>The Cluster and Host sections of this json file drive the Dashboard graphs.</td><td></td><td></td></tr><tr><td>Component &amp; Host Component</td><td>common-se [...]
+<p><strong>Note</strong>: The individual stacks that override behavior from common services can redefine the metrics.json file, the inheritance is all-or-nothing, meaning if metrics.json file is present in the child stack, it will override the metrics.json from common-services</p>
+<p><strong>Structure of metrics.json file</strong></p>
+<table><thead><tr><th>Key</th><th>Allowed Values</th><th>Comments</th></tr></thead><tbody><tr><td>Type</td><td>&quot;ganglia&quot; / &quot;jmx&quot;</td><td>type = ganglia implies Metrics Service request fulfilled by either a Ganglia (up to version 2.0) or Ambari Metrics (2.0 and above) backend service, this decision is taken by Ambari server at runtime.</td></tr><tr><td>Category</td><td>&quot;default&quot; / &quot;performance&quot; ...</td><td>This is to group metrics into subsets for b [...]
+<ul>
+<li>metricName = Name to use for the Metrics Service backend</li>
+<li>pointInTime = Get latest value, no time range query allowed</li>
+<li>temporal = Time range query supported</li>
+</ul>
+<p>Example:</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<p><strong>Sample API calls to retrieve metric definitions</strong>:</p>
+<p>Service metrics:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Template =&gt; http://&lt;ambari-server&gt;:&lt;port&gt;/api/v1/stacks/&lt;stackName&gt;/versions/&lt;sta [...]
+<p>Cluster &amp; Host metrics:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Template =&gt; http://&lt;ambari-server&gt;:&lt;port&gt;/api/v1/stacks/&lt;stackName&gt;/versions/&lt;sta [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/troubleshooting/index.html b/docs/2.7.5/ambari-design/metrics/troubleshooting/index.html
index 4080c37..35a6d3c 100644
--- a/docs/2.7.5/ambari-design/metrics/troubleshooting/index.html
+++ b/docs/2.7.5/ambari-design/metrics/troubleshooting/index.html
@@ -1,17 +1,132 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/troubleshooting">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/troubleshooting" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Troubleshooting | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/troubleshooting"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Troubleshooting | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/troubleshooting"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="d [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-5 Restart AMS using Ambari</li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="moving-metrics-collector-to-a-new-host">Moving Metrics Collector to a new host<a class="hash-link" href="#moving-metrics-collector-to-a-new-host" title="Direct link to heading">​</a></h2><ol><li><p>Stop AMS Service</p></li><li><p>Execute the following API call to Delete Metric Collector. (Replace server-host, cluster-name and host-name with the Metrics Collector host)</p></li></ol><div class="codeBlock [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="cleaning-up-ambari-metrics-system-data">Cleaning up Ambari Metrics System Data<a href="#cleaning-up-ambari-metrics-system-data" class="hash-link" aria-label="Direct link to Cleaning up Ambari Metrics System Data" title="Direct link to Cleaning up Ambari Metrics System Data">​</a></h2>
+<p>Following steps would help in cleaning up Ambari Metrics System data in a given cluster.</p>
+<p>Important Note:</p>
+<ol>
+<li>Cleaning up the AMS data would remove all the historical AMS data available</li>
+<li>The hbase parameters mentioned above are specific to AMS and they are different from the Cluster Hbase parameters</li>
+</ol>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="step-by-step-guide">Step-by-step guide<a href="#step-by-step-guide" class="hash-link" aria-label="Direct link to Step-by-step guide" title="Direct link to Step-by-step guide">​</a></h3>
+<ol>
+<li>Using Ambari<!-- -->
+<ul>
+<li>Set AMS to maintenance</li>
+<li>Stop AMS from Ambari. Identify the following from the AMS Configs screen<!-- -->
+<ul>
+<li>&#x27;Metrics Service operation mode&#x27; (embedded or distributed)</li>
+<li>hbase.rootdir</li>
+<li>hbase.zookeeper.property.dataDir</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>AMS data would be stored in &#x27;hbase.rootdir&#x27; identified above. Backup and remove the AMS data.<!-- -->
+<ul>
+<li>If the Metrics Service operation mode<!-- -->
+<ul>
+<li>is &#x27;embedded&#x27;, then the data is stored in OS files. Use regular OS commands to backup and remove the files in hbase.rootdir</li>
+<li>is &#x27;distributed&#x27;, then the data is stored in HDFS. Use &#x27;hdfs dfs&#x27; commands to backup and remove the files in hbase.rootdir</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>Remove the AMS zookeeper data by backing up and removing the contents of &#x27;hbase.tmp.dir&#x27;/zookeeper</li>
+<li>Remove any Phoenix spool files from &#x27;hbase.tmp.dir&#x27;/phoenix-spool folder
+5 Restart AMS using Ambari</li>
+</ol>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="moving-metrics-collector-to-a-new-host">Moving Metrics Collector to a new host<a href="#moving-metrics-collector-to-a-new-host" class="hash-link" aria-label="Direct link to Moving Metrics Collector to a new host" title="Direct link to Moving Metrics Collector to a new host">​</a></h2>
+<ol>
+<li>
+<p>Stop AMS Service</p>
+</li>
+<li>
+<p>Execute the following API call to Delete Metric Collector. (Replace server-host, cluster-name and host-name with the Metrics Collector host)</p>
+</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -u admin:admin  -H &quot;X-Requested-By:ambari&quot; -i -X DELETE http://&lt;server-host&gt;:8080/ap [...]
+<ol start="3">
+<li>Execute the following API call to add Metrics collector to a new host. (Replace, server-host, cluster-name, host-name)</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -u admin:admin  -H &quot;X-Requested-By:ambari&quot; -i -X POST http://&lt;server-host&gt;:8080/api/ [...]
+<ol start="4">
+<li>
+<p>Install the Metrics Collector component from the Host page of the new host.</p>
+</li>
+<li>
+<p>If the AMS is in embedded mode, copy the AMS data from old node to new node.</p>
+<ul>
+<li>For embedded mode (ams-site: timeline.metrics.service.operation.mode), copy over the hbase.rootdir and tmpdir to new host from the old collector host.</li>
+<li>For distributed mode, since AMS HBase is writing to HDFS, no change will be necessary.</li>
+<li>Ensure that ams:hbase-site<!-- -->:hbase<!-- -->.rootdir and hbase.tmp.dir are pointing to the correct location in the new AMS node</li>
+</ul>
+</li>
+<li>
+<p>Start the Metrics Service.</p>
+</li>
+<li>
+<p>The service daemons will be pointing to the old metrics collector host. Perform a rolling restart of slave components and a normal restart of Master components for them to pick up the new collector host.</p>
+</li>
+</ol>
+<p>Note : Restart of services is not needed post Ambari-2.5.0 since live collector information is maintained in the cluster zookeeper.</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/restart-datanode-9d845a689cad8b033dfd594bf15d0a36.png" width="2004" height="1012" class="img_ev3q"></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="troubleshooting-guide">Troubleshooting Guide<a href="#troubleshooting-guide" class="hash-link" aria-label="Direct link to Troubleshooting Guide" title="Direct link to Troubleshooting Guide">​</a></h2>
+<p>The following page documents common problems discovered with Ambari Metrics Service and provides a guide for things to look out for and already solved problems.</p>
+<p><strong>Important facts to collect from the system</strong>:</p>
+<p>Problems with Metric Collector host</p>
+<ul>
+<li>Output of &quot;rpm -qa | grep ambari&quot; on the collector host.</li>
+<li>Total available System memory, output of : &quot;free -g&quot;</li>
+<li>Total available disk space and available partitions, output of : &quot;df -h &quot;</li>
+<li>Total number of hosts in the cluster</li>
+<li>Configs: /etc/ams-hbase/conf/hbase-env.sh, /etc/ams-hbase/conf/hbase-site.xml, /etc/ambari-metrics-collector/conf/ams-env.sh, /etc/ambari-metrics-collector/conf/ams-site.xml</li>
+<li>Collector logs:</li>
+</ul>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/var/log/ambari-metrics-collector/ambari-metrics-collector.log, /var/log/ambari-metrics-collector/hbase-a [...]
+<ul>
+<li>Response to the following URLs -</li>
+</ul>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">http://&lt;ams-host&gt;:6188/ws/v1/timeline/metrics/metadata</span><br></span><span class="token-line" st [...]
+<ul>
+<li>
+<p>The response will be JSON and can be attached as a file.</p>
+</li>
+<li>
+<p>From AMS HBase Master UI - http://&lt;METRICS_COLLECTOR_HOST&gt;:61310</p>
+<ul>
+<li>Region Count</li>
+<li>StoreFile Count</li>
+<li>JMX Snapshot - http://&lt;METRICS_COLLECTOR_HOST&gt;:61310/jmx</li>
+</ul>
+</li>
+</ul>
+<p><strong>Problems with Metric Monitor host</strong></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Monitor log file: /etc/ambari-metrics-monitor/ambari-metrics-monitor.out</span><br></span></code></pre><d [...]
+<p><strong>Check out <a href="https://cwiki.apache.org/confluence/display/AMBARI/Configurations+-+Tuning" target="_blank" rel="noopener noreferrer">Configurations - Tuning</a> for scale issue troubleshooting.</strong></p>
+<p><strong>Issue 1: AMS HBase process slow disk writes</strong></p>
+<p>The symptoms and resolutions below address the <strong>embedded</strong> mode of AMS only.</p>
+<p><em>Symptoms</em>:</p>
+<table><thead><tr><th>Behavior</th><th>How to detect</th></tr></thead><tbody><tr><td>High CPU usage</td><td>HBase process on Collector host taking up close to 100% of every core</td></tr><tr><td>HBase Log: Compaction times</td><td>grep hbase-ams-master-&lt;host&gt;.log</td></tr><tr><td>HBase Log: ZK timeout</td><td>HBase crashes saying zookeeper session timed out. This happens because in embedded mode the zk session timeout is limited to max of 30 seconds (HBase issue: fix planned for 2. [...]
+<p><em>Resolutions</em>:</p>
+<table><thead><tr><th>Configuration Change</th><th>Description</th></tr></thead><tbody><tr><td>ams-hbase-site :: hbase.rootdir</td><td>Change this path to a disk mount that is not heavily contended.</td></tr><tr><td>ams-hbase-ste :: hbase.tmp.dir</td><td>Change this path to a location different from hbase.rootdir</td></tr><tr><td>ams-hbase-env :: hbase_master_heapsize<br>ams-hbase-site :: hbase.hregion.memstore.flush.size</td><td>Bump this value up so more data is held in memory to addre [...]
+<p><strong>Issue 2: Ambari Metrics take a long time to load</strong></p>
+<p><em>Symptoms</em>:</p>
+<table><thead><tr><th>Behavior</th><th>How to detect</th></tr></thead><tbody><tr><td>Graphs: Loading time too long<br>Graphs: No data available</td><td>Check out service pages / host pages for metric graphs</td></tr><tr><td>Socket read timeouts</td><td>ambari-server.log shows: Error message saying socket timeout for metrics</td></tr><tr><td>Ambari UI slowing down</td><td>Host page loading time is high, heatmaps do not show data<br>Dashboard loading time is too high<br>Multiple sessions r [...]
+<p><em>Resolutions</em>:</p>
+<p>Upgrade to 2.1.2+ is highly recommended.</p>
+<p>Following is a list of fixes in 2.1.2 release that should greatly help to alleviate the slow loading and timeouts:</p>
+<p><a href="https://issues.apache.org/jira/browse/AMBARI-12654" target="_blank" rel="noopener noreferrer">https://issues.apache.org/jira/browse/AMBARI-12654</a></p>
+<p><a href="https://issues.apache.org/jira/browse/AMBARI-12983" target="_blank" rel="noopener noreferrer">https://issues.apache.org/jira/browse/AMBARI-12983</a></p>
+<p><a href="https://issues.apache.org/jira/browse/AMBARI-13108" target="_blank" rel="noopener noreferrer">https://issues.apache.org/jira/browse/AMBARI-13108</a></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="known-issues"><a href="https://cwiki.apache.org/confluence/display/AMBARI/Known+Issues" target="_blank" rel="noopener noreferrer">Known Issues</a><a href="#known-issues" class="hash-link" aria-label="Direct link to known-issues" title="Direct link to known-issues">​</a></h2></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vi [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/metrics/upgrading-ambari-metrics-system/index.html b/docs/2.7.5/ambari-design/metrics/upgrading-ambari-metrics-system/index.html
index fcff3be..f71cd2c 100644
--- a/docs/2.7.5/ambari-design/metrics/upgrading-ambari-metrics-system/index.html
+++ b/docs/2.7.5/ambari-design/metrics/upgrading-ambari-metrics-system/index.html
@@ -1,16 +1,33 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/metrics/upgrading-ambari-metrics-system">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/metrics/upgrading-ambari-metrics-system" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Upgrading Ambari Metrics System | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/upgrading-ambari-metrics-system"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" cont [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Upgrading Ambari Metrics System | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/metrics/upgrading-ambari-metrics-system"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content=" [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p><strong>Upgrading from Ambari 2.0 or 2.0.1 to 2.1</strong></p>
+<ol>
+<li>Upgrade ambari server and perform needed post-upgrade checks. (make sure all services are up and running)</li>
+<li>Stop Ambari Metrics service</li>
+<li>Execute the following command on all hosts.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"> yum upgrade </span><span class="token parameter variable" style="color:#36acaa">-y</span>< [...]
+<p>(Use appropriate package manager on ubuntu and windows)</p>
+<ol start="4">
+<li>
+<p>Execute the following command on host running Metrics Collector</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">yum upgrade </span><span class="token parameter variable" style="color:#36acaa">-y</span><s [...]
+</li>
+<li>
+<p>Start Ambari Metrics Service</p>
+</li>
+<li>
+<p>The Sink jars will be deployed on every host, the daemons will pick the changes to sink implementations when they are restarted. (E.g.: HDFS Namenode / Datanode)</p>
+</li>
+</ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/metrics/upgrading-ambari-metrics-system.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34. [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/quick-links/index.html b/docs/2.7.5/ambari-design/quick-links/index.html
index 712cbbf..5b2fb80 100644
--- a/docs/2.7.5/ambari-design/quick-links/index.html
+++ b/docs/2.7.5/ambari-design/quick-links/index.html
@@ -1,16 +1,34 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/quick-links">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/quick-links" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Quick Links | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/quick-links"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_v [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Quick Links | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/quick-links"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:languag [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h2>
+<p>A service can add a list of quick links to the Ambari web UI by adding meta info to a file following a predefined JSON format. Ambari server parses the quick link JSON file and provides its content to the UI. So that Ambari web UI can calculate quick link URLs based on the information and populate the quick links drop-down list accordingly.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="design">Design<a href="#design" class="hash-link" aria-label="Direct link to Design" title="Direct link to Design">​</a></h2>
+<p>By default, the JSON file is called quicklinks.json and is located in the quicklinks directory under the service root directory. For example, for Oozie, the file is OOZIE/quicklinks/quicklinks.json. You can also name the file differently as well as put it in a custom directory under the service root directory.</p>
+<p>Use YARN as an example, the following is what the metainfo.xml looks like with the quick links configurations.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<p>The metainfo.xml can have different quick links configuration as shown here for MapReduce2.</p>
+<p>The _quickLinksConfigurations-dir_is an optional field that tells Ambari Server where to load the quicklinks.json file. We can skip it if we want the service to use the default _quicklinks_directory.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">serv [...]
+<p>A quick link JSON file has two major sections, the &quot;configuration&quot; section for determine the protocol (HTTP vs HTTPS), and the &quot;links&quot; section for meta information of each quick link to be displayed on the Ambari web UI. The JSON file also includes a &quot;name&quot; section at the top that defines the name of the quick links JSON file that server uses for identification.</p>
+<p>Ambari web UI uses information provided in the &quot;configuration&quot; section to determine if the service is running against HTTP or HTTPS. The result is used to construct all quick link URLs defined in the &quot;links&quot; section.</p>
+<p>Use YARN as an example, the following is what the quicklinks.json looks like</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h1>REST API</h1>
+<p>You can examine the quick link information made available to the Ambari web UI by running the following REST API as an HTTP GET request.</p>
+<p>REST API</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/stacks/[stack_name]versions/[stack_version]/services/[service_name]/quicklinks?QuickLinkInfo/defa [...]
+<p>Response sent to the Ambari web UI.</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="ambari-web-ui">Ambari Web UI<a href="#ambari-web-ui" class="hash-link" aria-label="Direct link to Ambari Web UI" title="Direct link to Ambari Web UI">​</a></h2>
+<p>The changes for the stack driven quick links are hidden from the UI presentation. The quick links drop-down list behavior remains unchanged.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/quick-links.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill=" [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/service-dashboard/index.html b/docs/2.7.5/ambari-design/service-dashboard/index.html
index 722baf1..4c04912 100644
--- a/docs/2.7.5/ambari-design/service-dashboard/index.html
+++ b/docs/2.7.5/ambari-design/service-dashboard/index.html
@@ -1,20 +1,128 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/service-dashboard/index">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/service-dashboard/index" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Enhanced Service Dashboard | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/service-dashboard/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="tr [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Enhanced Service Dashboard | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/service-dashboard/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" n [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<img loading="lazy" src="/assets/images/graphs-769c406c2ace47265ad7f0a0fb2ab122.png" title="Graphs" width="989" height="177" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="graph-widget-definition">Graph Widget Definition<a class="hash-link" href="#graph-widget-definition" title="Direct link to heading">​</a></h3><div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockC [...]
-<img loading="lazy" src="/assets/images/gauge-39820bee06f707d0e80caa8a195541f3.png" title="Gauge" width="206" height="165" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="number">Number<a class="hash-link" href="#number" title="Direct link to heading">​</a></h3><p>A widget to display a number optionally with a unit that can be calculated from the current value of a metric or current values of more than one metric.</p><p><img loading="lazy" src="/assets/images/numb [...]
-<img loading="lazy" src="/assets/images/widget-browser-603bd739e713b2ac5e16c9dfba2510ba.png" title="Widget Browser" width="1716" height="1146" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-widget-wizard">Create Widget Wizard<a class="hash-link" href="#create-widget-wizard" title="Direct link to heading">​</a></h3><p>A custom desired widget can be created from the exposed service metrics using 3 step Create Widget wizard.
-<img loading="lazy" src="/assets/images/create-widget-5562f4970ac860e8c49a98ac2b504e77.png" title="Create Widget" width="1154" height="480" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-enhanced-service-dashboard-feature">Using Enhanced Service Dashboard feature<a class="hash-link" href="#using-enhanced-service-dashboard-feature" title="Direct link to heading">​</a></h2><p>If the existing service in Ambari is pushing the metrics to Ambari metrics collector [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>This feature was first introduced in Ambari 2.1.0 release. Any Ambari release before 2.1.0 does not support this feature. Cluster is required to be upgraded to Ambari 2.1.0 or above to use this feature.</p>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h2>
+<p>The term Enhanced Service Dashboard is used for being able to seamlessly add new widgets to the service summary page and heatmap page. This feature enables stack service to be packaged with the widget definitions in the JSON format. These widget definitions will appear as default widgets on the service summary page and heatmap page on service installation. In addition new widgets for the service can be created any time on the deployed cluster.</p>
+<p>Displaying default service dashboard widgets on service installation is a 3 step process:</p>
+<ol>
+<li>
+<p>Push service metrics to Ambari Metric Collector.</p>
+</li>
+<li>
+<p>Declare service metrics in service&#x27;s metrics.json file of Ambari. This step is required to expose metrics via Ambari RESTful API.</p>
+</li>
+<li>
+<p>Define service widgets in the widgets.jsonfile.</p>
+</li>
+</ol>
+<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.6 [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="service-dashboard-widgets">Service Dashboard Widgets<a href="#service-dashboard-widgets" class="hash-link" aria-label="Direct link to Service Dashboard Widgets" title="Direct link to Service Dashboard Widgets">​</a></h2>
+<p>Ambari supports 4 widget types:</p>
+<ol>
+<li>Graph</li>
+<li>Gauge</li>
+<li>Number</li>
+<li>Template</li>
+</ol>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="graph">Graph<a href="#graph" class="hash-link" aria-label="Direct link to Graph" title="Direct link to Graph">​</a></h3>
+<p>A widget to display line or area graphs that are derived from one or more than one service metrics value over a range of time.
+<img decoding="async" loading="lazy" src="/assets/images/graphs-769c406c2ace47265ad7f0a0fb2ab122.png" title="Graphs" width="989" height="177" class="img_ev3q"></p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="graph-widget-definition">Graph Widget Definition<a href="#graph-widget-definition" class="hash-link" aria-label="Direct link to Graph Widget Definition" title="Direct link to Graph Widget Definition">​</a></h3>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<ol>
+<li>
+<p><strong>widget_name:</strong> This is the name that will be displayed in the UI for the widget.</p>
+</li>
+<li>
+<p>**description:**Description for the widget that will be displayed in the UI.</p>
+</li>
+<li>
+<p>**widget_type:**This information is used by the widget to create the widget from the metric data.</p>
+</li>
+<li>
+<p><strong>is_visible:</strong> This boolean decides if the widget is shown on the service summary page by default or not.</p>
+</li>
+<li>
+<p><strong>metrics:</strong> This is an array that includes all metrics definitions comprising the widget.</p>
+</li>
+<li>
+<p><strong>metrics/name:</strong> Actual n ame of the metric as being pushed to the sink or emitted as JMX property by the service.</p>
+</li>
+<li>
+<p><strong>metrics/metric_path</strong> <strong>:</strong> This is the path to which above mentioned metrics/name is mapped in metrics.json file for the service. Metric value will be exposed in the metrics attribute of the service component or host component endpoint of the Ambari API at the same path.</p>
+</li>
+<li>
+<p>**metrics/service_name:**Name of the service containing the component emitting the metric.</p>
+</li>
+<li>
+<p>**metrics/component_name:**Name of the component emitting the metric.</p>
+</li>
+<li>
+<p>**metrics/host_component_criteria:**This is an optional field. Presence of this field means that the metric is host component metric and not a service component metric. If a metric is intended to be queried on host component endpoint then the criteria for choosing the host component needs to be specified over here. If this is left as a single space string then the first found host component will be queried for the metric.</p>
+</li>
+<li>
+<p><strong>values:</strong> This is an array of datasets for the Graph widget. For other widget types this array always has one element.</p>
+</li>
+<li>
+<p><strong>values/name:</strong> This field is used only for Graph widget type. This shows up as a label name in the legend for the dataset shown in a Graph widget type.</p>
+</li>
+<li>
+<p><strong>values/value:</strong> This is the expression from which the value for the dataset is calculated. Expression contains references to the declared metric name and constant numbers which acts as valid operands. Expression also contains a valid set of operators (<code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>) that can be used along with valid operands. Parentheses are also permitted in the expression.</p>
+</li>
+<li>
+<p><strong>properties:</strong> These contains set of properties specific to the widget type. For Graph widget type it contains display_unit, graph_type and time_range. time_range field is currently not honored in the UI.</p>
+</li>
+</ol>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="gauge">Gauge<a href="#gauge" class="hash-link" aria-label="Direct link to Gauge" title="Direct link to Gauge">​</a></h3>
+<p>A widget to display percentage calculated from current value of a metric or current values of more than one metric.
+<img decoding="async" loading="lazy" src="/assets/images/gauge-39820bee06f707d0e80caa8a195541f3.png" title="Gauge" width="206" height="165" class="img_ev3q"></p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="number">Number<a href="#number" class="hash-link" aria-label="Direct link to Number" title="Direct link to Number">​</a></h3>
+<p>A widget to display a number optionally with a unit that can be calculated from the current value of a metric or current values of more than one metric.</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/number-0084f036ea8ce9a13ce1b2652b8e2044.png" title="Number" width="391" height="178" class="img_ev3q"></p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="template">Template<a href="#template" class="hash-link" aria-label="Direct link to Template" title="Direct link to Template">​</a></h3>
+<p>A widget to display one or more numbers calculated from current value of a metric or current values of more than one metric along with the embedded string.</p>
+<p>Aggregator function for the Metric</p>
+<p>Aggregator function are related to only service component level metrics and are not supported for host component level metrics.</p>
+<p>Ambari Metrics System supports 4 type of aggregation:</p>
+<ol>
+<li><strong>max</strong>: Maximum value of the metric across all host components</li>
+<li><strong>min</strong>: Minimum value of the metric across all host components</li>
+<li><strong>avg</strong>: Average value of the metric across all host components</li>
+<li><strong>sum</strong>: Sum of metric value recorded for each host components</li>
+</ol>
+<p>By default Ambari Metrics System uses the average aggregator function while computing value for a service component metric but this behavior can be overridden by suffixing metric name with the aggregator function name (._max ,._min ,._avg and ._sum ).</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="widget-operations">Widget Operations:<a href="#widget-operations" class="hash-link" aria-label="Direct link to Widget Operations:" title="Direct link to Widget Operations:">​</a></h2>
+<p>A Service that has widgets.json and metrics.json file will also be provided with following abilities:</p>
+<ol>
+<li>
+<p><strong>Widget Browser</strong> for performing widget related operations.</p>
+</li>
+<li>
+<p><strong>Create widget wizard</strong> for creating new desired service widgets in a cluster.</p>
+</li>
+<li>
+<p><strong>Edit widget wizard</strong> for editing service widgets post creation.</p>
+</li>
+</ol>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="widget-browser">Widget Browser<a href="#widget-browser" class="hash-link" aria-label="Direct link to Widget Browser" title="Direct link to Widget Browser">​</a></h2>
+<p>Widget Browser is the place from which actions can be performed on widgets like adding/removing a widget from the dashboard, sharing widget with other users and deleting a widget.While creating new widget, user can choose to share the widget with other users or not. All widgets that are created by the user + shared with the user + defined in the stack as default service widgets will be available in the widget browser of a user.
+<img decoding="async" loading="lazy" src="/assets/images/widget-browser-603bd739e713b2ac5e16c9dfba2510ba.png" title="Widget Browser" width="1716" height="1146" class="img_ev3q"></p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-widget-wizard">Create Widget Wizard<a href="#create-widget-wizard" class="hash-link" aria-label="Direct link to Create Widget Wizard" title="Direct link to Create Widget Wizard">​</a></h3>
+<p>A custom desired widget can be created from the exposed service metrics using 3 step Create Widget wizard.
+<img decoding="async" loading="lazy" src="/assets/images/create-widget-5562f4970ac860e8c49a98ac2b504e77.png" title="Create Widget" width="1154" height="480" class="img_ev3q"></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-enhanced-service-dashboard-feature">Using Enhanced Service Dashboard feature<a href="#using-enhanced-service-dashboard-feature" class="hash-link" aria-label="Direct link to Using Enhanced Service Dashboard feature" title="Direct link to Using Enhanced Service Dashboard feature">​</a></h2>
+<p>If the existing service in Ambari is pushing the metrics to Ambari metrics collector then minimal work needs to be done. This includes adding metrics.json and widgets.json file for the service, and might include making changes to metainfo.xml file.</p>
+<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.6 [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/custom-services/index.html b/docs/2.7.5/ambari-design/stack-and-services/custom-services/index.html
index 731b067..c95c352 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/custom-services/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/custom-services/index.html
@@ -1,21 +1,276 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/custom-services">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/custom-services" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Custom Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/custom-services"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-r [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Custom Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/custom-services"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="tr [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-Ambari uses the below sections only:</p><table><thead><tr><th>Section Name</th><th>When Used</th></tr></thead><tbody><tr><td>general_deps</td><td>Command orders are applied in all situations</td></tr><tr><td>optional_glusterfs</td><td>Command orders are applied when cluster has instance of GLUSTERFS service</td></tr><tr><td>optional_no_glusterfs</td><td>Command orders are applied when cluster does not have instance of GLUSTERFS service</td></tr><tr><td>namenode_optional_ha</td><td>Comman [...]
-Commands currently supported by Ambari are</p><ul><li>INSTALL</li><li>UNINSTALL</li><li>START</li><li>RESTART</li><li>STOP</li><li>EXECUTE</li><li>ABORT</li><li>UPGRADE</li><li>SERVICE_CHECK</li><li>CUSTOM_COMMAND</li><li>ACTIONEXECUTE</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="service-advisor">Service Advisor<a class="hash-link" href="#service-advisor" title="Direct link to heading">​</a></h2><p>Each custom service can provide a service advisor as a Python script named  [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>There are many aspects to creating custom services.  At its most basic a service must include its metainfo.xml and command script.  It also must be packaged to allow adding it to a cluster.  Some of the further sub-sections define optional elements of the service definition which can be included.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="defining-a-custom-service">Defining a Custom Service<a href="#defining-a-custom-service" class="hash-link" aria-label="Direct link to Defining a Custom Service" title="Direct link to Defining a Custom Service">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="service-metainfo-and-component-category">Service Metainfo and Component Category<a href="#service-metainfo-and-component-category" class="hash-link" aria-label="Direct link to Service Metainfo and Component Category" title="Direct link to Service Metainfo and Component Category">​</a></h3>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="metainfoxml">metainfo.xml<a href="#metainfoxml" class="hash-link" aria-label="Direct link to metainfo.xml" title="Direct link to metainfo.xml">​</a></h4>
+<p>The <code>metainfo.xml</code> file in a Service describes the service, the components of the service and the management scripts to use for executing commands. A component of a service must be either a <strong>MASTER</strong>, <strong>SLAVE</strong> or <strong>CLIENT</strong> category. The</p>
+<p>For each Component you must specify the &lt;commandScript&gt; to use when executing commands. There is a defined set of default commands the component must support depending on the components category.</p>
+<table><thead><tr><th>Component Category</th><th>Default Lifestyle Commands</th></tr></thead><tbody><tr><td>MASTER</td><td>install, start, stop, configure, status</td></tr><tr><td>SLAVE</td><td>install, start, stop, configure, status</td></tr><tr><td>CLIENT</td><td>install, configure, status</td></tr></tbody></table>
+<p>Ambari supports different commands scripts written in <strong>PYTHON</strong>. The type is used to know how to execute the command scripts. You can also create <strong>custom commands</strong> if there are other commands beyond the default lifecycle commands your component needs to support.</p>
+<p>For example, in the YARN Service describes the ResourceManager component as follows in <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml" target="_blank" rel="noopener noreferrer"><code>metainfo.xml</code></a>:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">comp [...]
+<p>The ResourceManager is a MASTER component, and the command script is <code>&lt;a href=&quot;https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/resourcemanager.py&quot;&gt;scripts/resourcemanager.py&lt;/a&gt;</code>, which can be found in the <code>services/YARN/package</code> directory. That command script is <strong>PYTHON</strong> and that script implements the default lifecycle commands as python methods. This [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="toke [...]
+<p>You can also see a custom command is defined <strong>DECOMMISSION</strong>, which means there is also a <strong>decommission</strong> method in that python command script:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> </span><span class="token  [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="implementing-a-custom-service">Implementing a Custom Service<a href="#implementing-a-custom-service" class="hash-link" aria-label="Direct link to Implementing a Custom Service" title="Direct link to Implementing a Custom Service">​</a></h3>
+<p>In this example, we will create a custom service called &quot;SAMPLESRV&quot;. This service includes MASTER, SLAVE and CLIENT components.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="create-a-custom-service">Create a Custom Service<a href="#create-a-custom-service" class="hash-link" aria-label="Direct link to Create a Custom Service" title="Direct link to Create a Custom Service">​</a></h4>
+<ol>
+<li>Create a directory named <code>&lt;strong&gt;SAMPLESRV&lt;/strong&gt;</code> that will contain the service definition for <strong>SAMPLESRV</strong>.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> SAMPLESRV</span><br></span> [...]
+<ol start="2">
+<li>Within the <code>SAMPLESRV</code> directory, create a <code>metainfo.xml</code> file that describes the new service. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ol start="3">
+<li>In the above, the service name is &quot; <strong>SAMPLESRV</strong>&quot;, and it contains:</li>
+</ol>
+<ul>
+<li>one <strong>MASTER</strong> component &quot; <strong>SAMPLESRV_MASTER</strong>&quot;</li>
+<li>one <strong>SLAVE</strong> component &quot; <strong>SAMPLESRV_SLAVE</strong>&quot;</li>
+<li>one <strong>CLIENT</strong> component &quot; <strong>SAMPLESRV_CLIENT</strong>&quot;</li>
+</ul>
+<ol start="4">
+<li>Next, let&#x27;s create that command script. Create a directory for the command script <code>SAMPLESRV</code> <code>/</code> ** <code>package/scripts</code>** that we designated in the service metainfo.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> </span><span class="token p [...]
+<ol start="5">
+<li>Within the scripts directory, create the <code>.py</code> command script files mentioned in the metainfo. For example <code>master.py</code> file:</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<p>For example <code>slave</code> <code>.py</code> file:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<p>For example <code>sample_client</code> <code>.py</code> file:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="implementing-a-custom-command">Implementing a Custom Command<a href="#implementing-a-custom-command" class="hash-link" aria-label="Direct link to Implementing a Custom Command" title="Direct link to Implementing a Custom Command">​</a></h4>
+<ol>
+<li>Browse to the <code>SAMPLESRV</code> directory, and edit the <code>metainfo.xml</code> file that describes the service. For example, adding a custom command to the SAMPLESRV_CLIENT:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<ol start="2">
+<li>Next, let&#x27;s create that command script by editing the package/scripts/sample_client.py file that we designated in the service metainfo.</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="adding-configs-to-the-custom-service">Adding Configs to the Custom Service<a href="#adding-configs-to-the-custom-service" class="hash-link" aria-label="Direct link to Adding Configs to the Custom Service" title="Direct link to Adding Configs to the Custom Service">​</a></h4>
+<p>In this example, we will add a configuration type &quot;test-config&quot; to our SAMPLESRV.</p>
+<ol>
+<li>Modify the metainfo.xml Add the configuration files to the CLIENT component will make it available in the client tar ball downloaded from Ambari.</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">comp [...]
+<ol start="2">
+<li>Create a directory for the configuration dictionary file <code>SAMPLESRV</code> <code>/</code> <strong><code>configuration</code></strong>.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> </span><span class="token p [...]
+<ol start="3">
+<li>Create the <code>test-config.xml</code> file. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ol start="4">
+<li>There is an optional setting &quot;configuration-dir&quot;. Custom services should either not include the setting or should leave it as the default value &quot;configuration&quot;.</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
+<ol start="5">
+<li>Configuration dependencies can be included in the metainfo.xml in the a &quot; <code>configuration-dependencies</code>&quot; section. This section can be added to the service as a whole or a particular component. One of the implications of this dependency is that whenever the config-type is updated, Ambari automatically marks the component or service as requiring restart.</li>
+</ol>
+<p>For example, HIVE defines a component level configuration dependencies for the HIVE_METASTORE component</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class [...]
+<p>HIVE also defines service level configuration dependencies.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="packaging-and-installing-custom-services">Packaging and Installing Custom Services<a href="#packaging-and-installing-custom-services" class="hash-link" aria-label="Direct link to Packaging and Installing Custom Services" title="Direct link to Packaging and Installing Custom Services">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h3>
+<p>Custom services in Apache Ambari can be packaged and installed in many ways. Ideally, they should all be packaged and installed in the same manner. This document describes how to package and install custom services using Extensions and Management Packs. Using this approach, the custom service definitions do not get inserted under the stack versions services directory. This keeps the stack clean and allows users to easily see which services were installed by which package (stack or ext [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="management-packs">Management Packs<a href="#management-packs" class="hash-link" aria-label="Direct link to Management Packs" title="Direct link to Management Packs">​</a></h3>
+<p>A <a href="/docs/2.7.5/ambari-design/stack-and-services/management-packs">management pack</a> is a mechanism for installing stacks, extensions and custom services. A management pack is packaged as a tar.gz file which expands as a directory that includes an mpack.json file and the stack, extension and custom service definitions that it defines.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-structure">Example Structure<a href="#example-structure" class="hash-link" aria-label="Direct link to Example Structure" title="Direct link to Example Structure">​</a></h4>
+<p>myext-mpack1.0.0.0</p>
+<p>├── mpack.json</p>
+<p>└──</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="mpackjson-format">mpack.json Format<a href="#mpackjson-format" class="hash-link" aria-label="Direct link to mpack.json Format" title="Direct link to mpack.json Format">​</a></h4>
+<p>The mpacks.json file allows you to specify the name, version and description of the management pack along with the prerequisites for installing the management pack. For extension management packs, the only important prerequisite is the min_ambari_version. The most important part is the artifacts section. For the purpose here, the artifact type will always be &quot;extension-definitions&quot;. You can provide any name for the artifact and you can potentially change the source_dir if yo [...]
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="extensions">Extensions<a href="#extensions" class="hash-link" aria-label="Direct link to Extensions" title="Direct link to Extensions">​</a></h3>
+<p>An <a href="/docs/2.7.5/ambari-design/stack-and-services/extensions">extension</a>is a collection of one or more custom services which are packaged together. Much like stacks, each extension has a name which needs to be unique in the cluster. It also has a version folder to distinguish different releases of the extension which go in the resources/extensions folder with</p>
+<p>An extension version is similar to a stack version but it only includes the metainfo.xml and the services directory. This means that the alerts, kerberos, metrics, role command order and widgets files are not supported and should be included at the service level. In addition, the repositories, hooks, configurations, and upgrades directories are not supported although upgrade support can be added at the service level.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="extension-structure">Extension Structure<a href="#extension-structure" class="hash-link" aria-label="Direct link to Extension Structure" title="Direct link to Extension Structure">​</a></h4>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">MY_EXT</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="d [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="extension-metainfoxml-format">Extension metainfo.xml Format:<a href="#extension-metainfoxml-format" class="hash-link" aria-label="Direct link to Extension metainfo.xml Format:" title="Direct link to Extension metainfo.xml Format:">​</a></h4>
+<p>The extension metainfo.xml is very simple, it just specifies the minimum stack versions which are supported.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="extension-inheritance">Extension Inheritance<a href="#extension-inheritance" class="hash-link" aria-label="Direct link to Extension Inheritance" title="Direct link to Extension Inheritance">​</a></h4>
+<p>Extension versions can <em>extend</em> other Extension versions in order to share command scripts and configurations. This reduces duplication of code across Extensions with the following:</p>
+<ul>
+<li>add new Services in the child Extension version (not in the parent Extension version)</li>
+<li>override command scripts of the parent Services</li>
+<li>override configurations of the parent Services</li>
+</ul>
+<p>For example, <strong>MyExtension 2.0</strong>could extend <strong>MyExtension 1.0</strong> so only the changes applicable to <strong>the MyExtension 2.0</strong> extension are present in that Extension definition. This extension is defined in the metainfo.xml for <strong>MyExtension 2.0</strong>:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="extension-management-packs-structure">Extension Management Packs Structure<a href="#extension-management-packs-structure" class="hash-link" aria-label="Direct link to Extension Management Packs Structure" title="Direct link to Extension Management Packs Structure">​</a></h3>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">myext-mpack1.0.0.0</span><br></span><span class="token-line" style="color:#393A34"><span class="token pla [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="installing-management-packs">Installing Management Packs<a href="#installing-management-packs" class="hash-link" aria-label="Direct link to Installing Management Packs" title="Direct link to Installing Management Packs">​</a></h3>
+<p>In order to install an extension management pack, you run the following command with or without the &quot;-v&quot; option:</p>
+<p>ambari-server install-mpack --mpack=/dir/to/myext-mpack-1.0.0.0.tar.gz -v</p>
+<p>This will check to see if the management pack&#x27;s prerequisites are met (min_ambari_version). In addition it will check to see if there are any errors in the management pack format. Assuming everything is correct, the management pack will be extracted in:</p>
+<p>/var/lib/ambariserver/resources/mpacks.</p>
+<p>It will then create symlinks from /var/lib/ambari-server/resources/extensions for each extension version in /var/lib/ambari-server/resources/mpacks/</p>
+<table><thead><tr><th>Extension Directory</th><th>Target Management Pack Symlink</th></tr></thead><tbody><tr><td>resources/extensions/MY_EXT/1.0</td><td>resources/mpacks/myext-mpack1.0.0.0/extensions/MY_EXT/1.0</td></tr><tr><td>resources/extensions/MY_EXT/2.0</td><td>resources/mpacks/myext-mpack1.0.0.0/extensions/MY_EXT/2.0</td></tr></tbody></table>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="verifying-the-extension-installation">Verifying the Extension Installation<a href="#verifying-the-extension-installation" class="hash-link" aria-label="Direct link to Verifying the Extension Installation" title="Direct link to Verifying the Extension Installation">​</a></h3>
+<p>Once you have installed the extension management pack, you can restart ambari-server.</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server restart</span><br></span></code></pre><div class="buttonGroup__atx"><button t [...]
+<p>After ambari-server has been restarted, you will see in the ambari DB your extension listed in the extension table:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari=&gt; select * from extension;</span><br></span><span class="token-line" style="color:#393A34"><spa [...]
+<p>You can also query for extensions by calling REST APIs.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">curl -u admin:admin -H &#x27;X-Requested-By:ambari&#x27; -X GET &#x27;http://</span><br></span><span clas [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="linking-extensions-to-the-stack">Linking Extensions to the Stack<a href="#linking-extensions-to-the-stack" class="hash-link" aria-label="Direct link to Linking Extensions to the Stack" title="Direct link to Linking Extensions to the Stack">​</a></h3>
+<p>Once you have verified that Ambari knows about your extension, the next step is linking the extension version to the current stack version. Linking adds the extension version&#x27;s services to the list of stack version services. This allows you to install the extension services on the cluster. Linking an extension version to a stack version, will first verify whether the extension supports the given stack version. This is determined by the stack versions listed in the extension versi [...]
+<p>The following REST API call, will link an extension version to a stack version. In this example it is linking EXT/1.0 with the BIGTOP/1.0 stack version.</p>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token pa [...]
+<p>You can examine links (or extension links) either in the Ambari DB or with REST API calls.</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari=&gt; select * from extensionlink;</span><br></span><span class="token-line" style="color:#393A34"> [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="role-command-order">Role Command Order<a href="#role-command-order" class="hash-link" aria-label="Direct link to Role Command Order" title="Direct link to Role Command Order">​</a></h2>
+<p>Each service can define its own role command order by including a role_command_order.json file in its service folder. The service should only specify the relationship of its components to other components. In other words, if a service only includes COMP_X, it should only list dependencies related to COMP_X. If when COMP_X starts it is dependent on the NameNode start and when the NameNode stops it should wait for COMP_X to stop, the following would be included in the role command order:</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<p>The entries in the service&#x27;s role command order will be merged with the role command order defined in the stack. For example, since the stack already has a dependency for NAMENODE-STOP, in the example above COMP_X-STOP would be added to the rest of the NAMENODE-STOP dependencies and the COMP_X-START dependency on NAMENODE-START would be added as a new dependency.</p>
+<p><strong>Sections</strong>
+Ambari uses the below sections only:</p>
+<table><thead><tr><th>Section Name</th><th>When Used</th></tr></thead><tbody><tr><td>general_deps</td><td>Command orders are applied in all situations</td></tr><tr><td>optional_glusterfs</td><td>Command orders are applied when cluster has instance of GLUSTERFS service</td></tr><tr><td>optional_no_glusterfs</td><td>Command orders are applied when cluster does not have instance of GLUSTERFS service</td></tr><tr><td>namenode_optional_ha</td><td>Command orders are applied when HDFS service i [...]
+<p><strong>Commands</strong>
+Commands currently supported by Ambari are</p>
+<ul>
+<li>INSTALL</li>
+<li>UNINSTALL</li>
+<li>START</li>
+<li>RESTART</li>
+<li>STOP</li>
+<li>EXECUTE</li>
+<li>ABORT</li>
+<li>UPGRADE</li>
+<li>SERVICE_CHECK</li>
+<li>CUSTOM_COMMAND</li>
+<li>ACTIONEXECUTE</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="service-advisor">Service Advisor<a href="#service-advisor" class="hash-link" aria-label="Direct link to Service Advisor" title="Direct link to Service Advisor">​</a></h2>
+<p>Each custom service can provide a service advisor as a Python script named service-advisor.py in their service folder. A Service Advisor allows custom services to integrate into the stack advisor behavior which only applies to the services within the stack.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="service-advisor-inheritance">Service Advisor Inheritance<a href="#service-advisor-inheritance" class="hash-link" aria-label="Direct link to Service Advisor Inheritance" title="Direct link to Service Advisor Inheritance">​</a></h3>
+<p>Unlike the Stack-advisor scripts, the service-advisor scripts do not automatically extend the parent service&#x27;s service-advisor scripts. The service-advisor script needs to explicitly extend their parent&#x27;s service service-advisor script.  The following code sample shows how you would refer to a parent&#x27;s service_advisor.py.  In this case it is extending the root service-advisor.py file in the resources/stacks directory.</p>
+<p><strong>Sample service-advisor.py file inheritance</strong></p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">SCRIPT_DIR </span><span class="token operator" style="color:#393A34">=</span><span clas [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="service-advisor-behavior">Service Advisor Behavior<a href="#service-advisor-behavior" class="hash-link" aria-label="Direct link to Service Advisor Behavior" title="Direct link to Service Advisor Behavior">​</a></h3>
+<p>Like the stack advisors, service advisors provide information on 4 important aspects for the service:</p>
+<ol>
+<li>Recommend layout of the service on cluster</li>
+<li>Recommend service configurations</li>
+<li>Validate layout of the service on cluster</li>
+<li>Validate service configurations</li>
+</ol>
+<p>By providing the service-advisor.py file, one can control dynamically each of the above for the service.</p>
+<p>The <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/service_advisor.py#L51" target="_blank" rel="noopener noreferrer">main interface for the service-advisor</a> scripts contains documentation on how each of the above are called, and what data is provided.</p>
+<p><strong>Base service_advisor.py from resources/stacks</strong></p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#3 [...]
+<p><strong>Examples</strong>
 <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/service_advisor.py#L51" target="_blank" rel="noopener noreferrer">Service Advisor interface</a>
 <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/service_advisor.py" target="_blank" rel="noopener noreferrer">HAWQ 2.0.0 Service Advisor implementation</a>
-<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/PXF/3.0.0/service_advisor.py" target="_blank" rel="noopener noreferrer">PXF 3.0.0 Service Advisor implementation</a></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="service-inheritance">Service Inheritance<a class="hash-link" href="#service-inheritance" title="Direct link to heading">​</a></h2><p>A service can inherit through the stack but may also inherit directly from common-serv [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/PXF/3.0.0/service_advisor.py" target="_blank" rel="noopener noreferrer">PXF 3.0.0 Service Advisor implementation</a></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="service-inheritance">Service Inheritance<a href="#service-inheritance" class="hash-link" aria-label="Direct link to Service Inheritance" title="Direct link to Service Inheritance">​</a></h2>
+<p>A service can inherit through the stack but may also inherit directly from common-services. This is declared in the metainfo.xml:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<p>When a service inherits from another service version, how its defining files and directories are inherited follows a number of different patterns.</p>
+<p>The following files if defined in the current service version replace the definitions from the parent service version:</p>
+<ul>
+<li>alerts.json</li>
+<li>kerberos.json</li>
+<li>metrics.json</li>
+<li>role_command_order.json</li>
+<li>service_advisor.py</li>
+<li>widgets.json</li>
+</ul>
+<p>Note: All the services&#x27; role command orders will be merge with the stack&#x27;s role command order to provide a master list.</p>
+<p>The following files if defined in the current service version are merged with the parent service version (supports removing/deleting parent entries):</p>
+<ul>
+<li>quicklinks/quicklinks.json</li>
+<li>themes/theme.json</li>
+</ul>
+<p>The following directories if defined in the current service version replace those from the parent service version:</p>
+<ul>
+<li>packages</li>
+<li>upgrades</li>
+</ul>
+<p>This means the files included in those directories at the parent level will not be inherited. You will need to copy all the files you wish to keep from that directory structure.</p>
+<p>The configurations directory in the current service version merges the configuration files with those from the parent service version. Configuration files defined at any level can be omitted from the services configurations by specifying the config-type in the excluded-config-types list:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class [...]
+<p>For an individual configuration file (or configuration type) like core-site.xml, it will by default merge with the configuration type from the parent. If the <code>supports_do_not_extend</code> attribute is specified as <code>true</code>, the configuration type will <strong>not</strong> be merged.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">conf [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="inheritance-and-the-service-metainfo">Inheritance and the Service MetaInfo<a href="#inheritance-and-the-service-metainfo" class="hash-link" aria-label="Direct link to Inheritance and the Service MetaInfo" title="Direct link to Inheritance and the Service MetaInfo">​</a></h3>
+<p>By default all attributes of the service and components if defined in the metainfo.xml of the current service version will replace those of the parent service version unless specified in the sections that follow.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<p>The custom commands defined in the metainfo.xml of the current service version are merged with those of the parent service version.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span c [...]
+<p>The configuration dependencies defined in the metainfo.xml of the current service version are merged with those of the parent service version.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class [...]
+<p>The components defined in the metainfo.xml of the current service are merged with those of the parent (supports delete).</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span cla [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="service-upgrade">Service Upgrade<a href="#service-upgrade" class="hash-link" aria-label="Direct link to Service Upgrade" title="Direct link to Service Upgrade">​</a></h2>
+<p>Each custom service can define its upgrade within its service definition. This allows the custom service to be integrated within the <a href="https://cwiki.apache.org/confluence/display/AMBARI/How-To+Define+Stacks+and+Services#How-ToDefineStacksandServices-StackUpgrades" target="_blank" rel="noopener noreferrer">stack&#x27;s upgrade</a>.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="service-upgrade-packs">Service Upgrade Packs<a href="#service-upgrade-packs" class="hash-link" aria-label="Direct link to Service Upgrade Packs" title="Direct link to Service Upgrade Packs">​</a></h3>
+<p>Each service can define <em>upgrade-packs</em>, which are XML files describing the upgrade process of that particular service and how the upgrade pack relates to the overall stack upgrade-packs. These <em>upgrade-pack</em> XML files are placed in the service&#x27;s <em>upgrades/</em> folder in separate sub-folders specific to the stack-version they are meant to extend. Some examples of this can be seen in the testing code.</p>
+<p><strong>Examples</strong></p>
+<ul>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/test/resources/stacks/HDP/2.0.5/services/HDFS/upgrades/" target="_blank" rel="noopener noreferrer">Upgrades folder</a></li>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/test/resources/stacks/HDP/2.0.5/services/HDFS/upgrades/HDP/2.2.0/upgrade_test_15388.xml" target="_blank" rel="noopener noreferrer">Upgrade-pack XML</a></li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="matching-upgrade-packs">Matching Upgrade Packs<a href="#matching-upgrade-packs" class="hash-link" aria-label="Direct link to Matching Upgrade Packs" title="Direct link to Matching Upgrade Packs">​</a></h3>
+<p>Each upgrade-pack that the service defines should match the file name of the service defined by a particular stack version. For example in the testing code, HDP 2.2.0 had an <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_15388.xml" target="_blank" rel="noopener noreferrer">upgrade_test_15388.xml</a> upgrade-pack. The HDFS service defined an extension to that upgrade pack <a href="https://github.com/apache/am [...]
+<p><strong>Upgrade XML Format</strong></p>
+<p>The file format for the service is much the same as that of the stack. The target, target-stack and type attributes should all be the same as the stack&#x27;s upgrade-pack.</p>
+<p><strong>Prerequisite Checks</strong></p>
+<p>The service is able to add its own prerequisite checks.</p>
+<p><strong>General Attributes and Prerequisite Checks</strong></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">upgr [...]
+<p><strong>Order Section</strong></p>
+<p>The order section of the upgrade-pack, consists of group elements just like the stack&#x27;s upgrade-pack. The key difference is defining how these groups relate to groups in the stack&#x27;s upgrade pack or other service upgrade-packs. In the first example we are referencing the PRE_CLUSTER group and adding a new execute-stage for the service FOO. The entry is supposed to be added after the execute-stage for HDFS based on the</p>
+<p><strong>Order Section - Add After Group Entry</strong></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<p>The same syntax can be used to order other sections like service check priorities and group services.</p>
+<p><strong>Order Section - Further Add After Group Entry Examples</strong></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">grou [...]
+<p>It is also possible to add new groups and order them after other groups in the stack&#x27;s upgrade-packs. In the following example, we are adding the FOO group after the HIVE group using the add-after-group tag.</p>
+<p><strong>Order Section - Add After Group</strong></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">grou [...]
+<p>You could also include both the add-after-group and the add-after-group-entry tags in the same group. This will create a new group if it doesn&#x27;t already exist and will order it after the add-after-group&#x27;s group name. The add-after-group-entry will determine the internal ordering of that group&#x27;s services, priorities or execute stages.</p>
+<p><strong>Order Section - Add After Group</strong></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">grou [...]
+<p><strong>Processing Section</strong></p>
+<p>The processing section of the upgrade-pack remains the same as what it would be in the stack&#x27;s upgrade-pack.</p>
+<p><strong>Processing Section</strong></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">   </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="t [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="custom-service-repo">Custom Service Repo<a href="#custom-service-repo" class="hash-link" aria-label="Direct link to Custom Service Repo" title="Direct link to Custom Service Repo">​</a></h2>
+<p>Each service can define its own repo info by adding repos/repoinfo.xml in its service folder.  The service specific repo will be included in the list of repos defined for the stack.</p>
+<p><strong>Example</strong>: <a href="https://github.com/apache/ambari/blob/trunk/contrib/management-packs/microsoft-r_mpack/src/main/resources/custom-services/MICROSOFT_R_SERVER/8.0.5/repos/repoinfo.xml" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/blob/trunk/contrib/management-packs/microsoft-r_mpack/src/main/resources/custom-services/MICROSOFT_R_SERVER/8.0.5/repos/repoinfo.xml</a></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="custom-services---additional-configuration">Custom Services - Additional Configuration<a href="#custom-services---additional-configuration" class="hash-link" aria-label="Direct link to Custom Services - Additional Configuration" title="Direct link to Custom Services - Additional Configuration">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="alerts">Alerts<a href="#alerts" class="hash-link" aria-label="Direct link to Alerts" title="Direct link to Alerts">​</a></h3>
+<p>Each service is capable of defining which alerts Ambari should track by providing an <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/alerts.json" target="_blank" rel="noopener noreferrer">alerts.json</a> file.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="kerberos">Kerberos<a href="#kerberos" class="hash-link" aria-label="Direct link to Kerberos" title="Direct link to Kerberos">​</a></h3>
+<p>Ambari is capable of enabling and disabling Kerberos for a cluster. To inform Ambari of the identities and configurations to be used for the service and its components, each service can provide a <em>kerberos.json</em> file.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metrics">Metrics<a href="#metrics" class="hash-link" aria-label="Direct link to Metrics" title="Direct link to Metrics">​</a></h3>
+<p>Ambari provides the <a href="/docs/2.7.5/ambari-design/metrics/">Ambari Metrics System (&quot;AMS&quot;)</a>service for collecting, aggregating and serving Hadoop and system metrics in Ambari-managed clusters.</p>
+<p>Each service can define which metrics AMS should collect and provide by defining a <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metrics.json" target="_blank" rel="noopener noreferrer">metrics.json</a> file.</p>
+<p>Read more about the metrics.json file format in the <a href="/docs/2.7.5/ambari-design/metrics/stack-defined-metrics">Stack Defined Metrics</a> page.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="quick-links">Quick Links<a href="#quick-links" class="hash-link" aria-label="Direct link to Quick Links" title="Direct link to Quick Links">​</a></h3>
+<p>A service can add a list of quick links to the Ambari web UI by adding a quick links JSON file. Ambari server parses the quick links JSON file and provides its content to the Ambari web UI. The UI can calculate quick link URLs based on that information and populate the quick links drop-down list accordingly.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="widgets">Widgets<a href="#widgets" class="hash-link" aria-label="Direct link to Widgets" title="Direct link to Widgets">​</a></h3>
+<p>Each service can define which widgets and heat maps show up by default on the service summary page by defining a <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/widgets.json" target="_blank" rel="noopener noreferrer">widgets.json</a> file.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivo [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services/index.html b/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services/index.html
index 3ee4ba3..4f8dc5d 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services/index.html
@@ -1,16 +1,237 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/defining-a-custom-stack-and-services">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/defining-a-custom-stack-and-services" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Defining a Custom Stack and Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="doc [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Defining a Custom Stack and Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusau [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="background">Background<a href="#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background">​</a></h2>
+<p>The Stack definitions can be found in the source tree at <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks" target="_blank" rel="noopener noreferrer">/ambari-server/src/main/resources/stacks</a>. After you install the Ambari Server, the Stack definitions can be found at <code>/var/lib/ambari-server/resources/stacks</code></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="stack-properties">Stack Properties<a href="#stack-properties" class="hash-link" aria-label="Direct link to Stack Properties" title="Direct link to Stack Properties">​</a></h2>
+<p>The stack must contain or inherit a properties directory which contains two files: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json" target="_blank" rel="noopener noreferrer">stack_features.json</a> and <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_tools.json" target="_blank" rel="noopener noreferrer">stack_tools.json</a>. The p [...]
+<p>The stack_features.json contains a list of features that are included in Ambari and allows the stack to specify which versions of the stack include those features. The list of features are determined by the particular Ambari release. The reference list for a particular Ambari version should be found in the <a href="https://github.com/apache/ambari/blob/branch-2.4/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json" target="_blank" rel="noopener noreferrer" [...]
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<p>The stack_tools.json includes the name and location where the stack_selector and conf_selector tools are installed.</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<p>For more information see the <a href="/docs/2.7.5/ambari-design/stack-and-services/stack-properties">Stack Properties</a> wiki page.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="structure">Structure<a href="#structure" class="hash-link" aria-label="Direct link to Structure" title="Direct link to Structure">​</a></h2>
+<p>The structure of a Stack definition is as follows:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">|_ stacks</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">   |_ [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="defining-a-service-and-components">Defining a Service and Components<a href="#defining-a-service-and-components" class="hash-link" aria-label="Direct link to Defining a Service and Components" title="Direct link to Defining a Service and Components">​</a></h2>
+<p><strong>metainfo.xml</strong></p>
+<p>The <code>metainfo.xml</code> file in a Service describes the service, the components of the service and the management scripts to use for executing commands. A component of a service can be either a <strong>MASTER</strong>, <strong>SLAVE</strong> or <strong>CLIENT</strong> category. The</p>
+<p>For each Component you specify the <code>&lt;commandScript&gt;</code> to use when executing commands. There is a defined set of default commands the component must support.</p>
+<table><thead><tr><th>Component Category</th><th>Default Lifestyle Commands</th></tr></thead><tbody><tr><td>MASTER</td><td>install, start, stop, configure, status</td></tr><tr><td>SLAVE</td><td>install, start, stop, configure, status</td></tr><tr><td>CLIENT</td><td>install, configure, status</td></tr></tbody></table>
+<p>Ambari supports different commands scripts written in <strong>PYTHON</strong>. The type is used to know how to execute the command scripts. You can also create <strong>custom commands</strong> if there are other commands beyond the default lifecycle commands your component needs to support.</p>
+<p>For example, in the YARN Service describes the ResourceManager component as follows in <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml" target="_blank" rel="noopener noreferrer"><code>metainfo.xml</code></a>:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<p>The ResourceManager is a MASTER component, and the command script is <code>&lt;a href=&quot;https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/resourcemanager.py&quot;&gt;scripts/resourcemanager.py&lt;/a&gt;</code>, which can be found in the <code>services/YARN/package</code> directory. That command script is <strong>PYTHON</strong> and that script implements the default lifecycle commands as python methods. This [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="toke [...]
+<p>You can also see a custom command is defined <strong>DECOMMISSION</strong>, which means there is also a <strong>decommission</strong> method in that python command script:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> </span><span class="token  [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="using-stack-inheritance">Using Stack Inheritance<a href="#using-stack-inheritance" class="hash-link" aria-label="Direct link to Using Stack Inheritance" title="Direct link to Using Stack Inheritance">​</a></h2>
+<p>Stacks can <em>extend</em> other Stacks in order to share command scripts and configurations. This reduces duplication of code across Stacks with the following:</p>
+<ul>
+<li>define repositories for the child Stack</li>
+<li>add new Services in the child Stack (not in the parent Stack)</li>
+<li>override command scripts of the parent Services</li>
+<li>override configurations of the parent Services</li>
+</ul>
+<p>For example, the <strong>HDP 2.1 Stack <em>extends</em> HDP 2.0.6 Stack</strong> so only the changes applicable to <strong>HDP 2.1 Stack</strong> are present in that Stack definition. This extension is defined in the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.1/metainfo.xml" target="_blank" rel="noopener noreferrer">metainfo.xml</a> for HDP 2.1 Stack:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="example-implementing-a-custom-service">Example: Implementing a Custom Service<a href="#example-implementing-a-custom-service" class="hash-link" aria-label="Direct link to Example: Implementing a Custom Service" title="Direct link to Example: Implementing a Custom Service">​</a></h2>
+<p>In this example, we will create a custom service called &quot;SAMPLESRV&quot;, add it to an existing Stack definition. This service includes MASTER, SLAVE and CLIENT components.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-and-add-the-service">Create and Add the Service<a href="#create-and-add-the-service" class="hash-link" aria-label="Direct link to Create and Add the Service" title="Direct link to Create and Add the Service">​</a></h3>
+<ol>
+<li>On the Ambari Server, browse to the <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</code> directory. In this case, we will browse to the HDP 2.0 Stack definition.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> /var/lib/ambari-server/resources/stacks/HD [...]
+<ol start="2">
+<li>Create a directory named <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/&lt;strong&gt;SAMPLESRV&lt;/strong&gt;</code> that will contain the service definition for <strong>SAMPLESRV</strong>.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> /var/lib/ambari-server/reso [...]
+<ol start="3">
+<li>Browse to the newly created <code>SAMPLESRV</code> directory, create a <code>metainfo.xml</code> file that describes the new service. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ol start="4">
+<li>In the above, my service name is &quot; <strong>SAMPLESRV</strong>&quot;, and it contains:</li>
+</ol>
+<ul>
+<li>one <strong>MASTER</strong> component &quot; <strong>SAMPLESRV_MASTER</strong>&quot;</li>
+<li>one <strong>SLAVE</strong> component &quot; <strong>SAMPLESRV_SLAVE</strong>&quot;</li>
+<li>one <strong>CLIENT</strong> component &quot; <strong>SAMPLESRV_CLIENT</strong>&quot;</li>
+</ul>
+<ol start="5">
+<li>Next, let&#x27;s create that command script. Create a directory for the command script <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/SAMPLESRV/package/scripts</code> that we designated in the service metainfo.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> </span><span class="token p [...]
+<ol start="6">
+<li>Browse to the scripts directory and create the <code>.py</code> command script files. For example <code>master.py</code> file:</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<p>For example <code>slave</code> <code>.py</code> file:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<p>For example <code>sample_client</code> <code>.py</code> file:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<ol start="7">
+<li>Now, restart Ambari Server for this new service definition to be distributed to all the Agents in the cluster.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server restart</span><br></span></code></pre><div class="buttonGroup__atx"><button t [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="install-the-service-via-ambari-web-add-services">Install the Service (via Ambari Web &quot;Add Services&quot;)<a href="#install-the-service-via-ambari-web-add-services" class="hash-link" aria-label="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)" title="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)">​</a></h3>
+<p>The ability to add custom services via Ambari Web is new as of Ambari 1.7.0.</p>
+<ol>
+<li>
+<p>In Ambari Web, browse to Services and click the <strong>Actions</strong> button in the Service navigation area on the left.</p>
+</li>
+<li>
+<p>The &quot;Add Services&quot; wizard launches. You will see an option to include &quot;My Sample Service&quot; (which is the <code>&lt;displayname&gt;&lt;/displayname&gt;</code> of the service as defined in the service <code>metainfo.xml</code> file).</p>
+</li>
+<li>
+<p>Select &quot;My Sample Service&quot; and click Next.</p>
+</li>
+<li>
+<p>Assign the &quot;Sample Srv Master&quot; and click Next.</p>
+</li>
+<li>
+<p>Select the hosts to install the &quot;Sample Srv Client&quot; and click Next.</p>
+</li>
+<li>
+<p>Once complete, the &quot;My Sample Service&quot; will be available Service navigation area.</p>
+</li>
+<li>
+<p>If you want to add the &quot;Sample Srv Client&quot; to any hosts, you can browse to Hosts and navigate to a specific host and click &quot;+ Add&quot;.</p>
+</li>
+</ol>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="example-implementing-a-custom-client-only-service">Example: Implementing a Custom Client-only Service<a href="#example-implementing-a-custom-client-only-service" class="hash-link" aria-label="Direct link to Example: Implementing a Custom Client-only Service" title="Direct link to Example: Implementing a Custom Client-only Service">​</a></h2>
+<p>In this example, we will create a custom service called &quot;TESTSRV&quot;, add it to an existing Stack definition and use the Ambari APIs to install/configure the service. This service is a CLIENT so it has two commands: install and configure.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-and-add-the-service-1">Create and Add the Service<a href="#create-and-add-the-service-1" class="hash-link" aria-label="Direct link to Create and Add the Service" title="Direct link to Create and Add the Service">​</a></h3>
+<ol>
+<li>On the Ambari Server, browse to the <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</code> directory. In this case, we will browse to the HDP 2.0 Stack definition.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> /var/lib/ambari-server/resources/stacks/HD [...]
+<ol start="2">
+<li>Create a directory named <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/&lt;strong&gt;TESTSRV&lt;/strong&gt;</code> that will contain the service definition for <strong>TESTSRV</strong>.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> /var/lib/ambari-server/reso [...]
+<ol start="3">
+<li>Browse to the newly created <code>TESTSRV</code> directory, create a <code>metainfo.xml</code> file that describes the new service. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ol start="4">
+<li>
+<p>In the above, my service name is &quot; <strong>TESTSRV</strong>&quot;, and it contains one component &quot; <strong>TEST_CLIENT</strong>&quot; that is of component category &quot; <strong>CLIENT</strong>&quot;. That client is managed via the command script <code>scripts/test_client.py</code>. Next, let&#x27;s create that command script.</p>
+</li>
+<li>
+<p>Create a directory for the command script <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/TESTSRV/package/scripts</code> that we designated in the service metainfo.</p>
+</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> </span><span class="token p [...]
+<ol start="6">
+<li>Browse to the scripts directory and create the <code>test_client.py</code> file. For example:</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<ol start="7">
+<li>Now, restart Ambari Server for this new service definition to be distributed to all the Agents in the cluster.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server restart</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" a [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="adding-repository-details-in-repoinfoxml">Adding Repository details in repoinfo.xml<a href="#adding-repository-details-in-repoinfoxml" class="hash-link" aria-label="Direct link to Adding Repository details in repoinfo.xml" title="Direct link to Adding Repository details in repoinfo.xml">​</a></h3>
+<p>When adding a custom service, it may be needed to add additional repository details for the stack especially if the service binaries are available through a separate repository. Additional</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">repo [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="install-the-service-via-the-ambari-rest-api">Install the Service (via the Ambari REST API)<a href="#install-the-service-via-the-ambari-rest-api" class="hash-link" aria-label="Direct link to Install the Service (via the Ambari REST API)" title="Direct link to Install the Service (via the Ambari REST API)">​</a></h3>
+<ol>
+<li>Add the Service to the Cluster.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="2">
+<li>Add the Components to the Service. In this case, add TEST_CLIENT to TESTSRV.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="3">
+<li>Install the component on all target hosts. For example, to install on <code>&lt;a href=&quot;http://c6402.ambari.apache.org&quot;&gt;c6402.ambari.apache.org&lt;/a&gt;</code> and <code>&lt;a href=&quot;http://c6403.ambari.apache.org&quot;&gt;c6403.ambari.apache.org&lt;/a&gt;</code>, first create the host_component resource on the hosts using POST.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="4">
+<li>Now have Ambari install the components on all hosts. In this single command, you are instructing Ambari to install all components related to the service. This call the <code>install()</code> method in the command script on each host.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">PUT</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/clu [...]
+<ol start="5">
+<li>Alternatively, instead of installing all components at the same time, you can explicitly install each host component. In this example, we will explicitly install the TEST_CLIENT on <code>&lt;a href=&quot;http://c6402.ambari.apache.org&quot;&gt;c6402.ambari.apache.org&lt;/a&gt;</code>:</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">PUT</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/clu [...]
+<ol start="6">
+<li>Use the following to configure the client on the host. This will end up calling the <code>configure()</code> method in the command script.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="7">
+<li>If you want to see which hosts the component is installed.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">GET</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/clu [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="install-the-service-via-ambari-web-add-services-1">Install the Service (via Ambari Web &quot;Add Services&quot;)<a href="#install-the-service-via-ambari-web-add-services-1" class="hash-link" aria-label="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)" title="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)">​</a></h3>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<ol>
+<li>
+<p>In Ambari Web, browse to Services and click the <strong>Actions</strong> button in the Service navigation area on the left.</p>
+</li>
+<li>
+<p>The &quot;Add Services&quot; wizard launches. You will see an option to include &quot;My Test Service&quot; (which is the <code>&lt;displayname&gt;&lt;/displayname&gt;</code> of the service as defined in the service <code>metainfo.xml</code> file).</p>
+</li>
+<li>
+<p>Select &quot;My Test Service&quot; and click Next.</p>
+</li>
+<li>
+<p>Select the hosts to install the &quot;New Test Client&quot; and click Next.</p>
+</li>
+<li>
+<p>Once complete, the &quot;My Test Service&quot; will be available Service navigation area.</p>
+</li>
+<li>
+<p>If you want to add the &quot;New Test Client&quot; to any hosts, you can browse to Hosts and navigate to a specific host and click &quot;+ Add&quot;.</p>
+</li>
+</ol>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="example-implementing-a-custom-client-only-service-with-configs">Example: Implementing a Custom Client-only Service (with Configs)<a href="#example-implementing-a-custom-client-only-service-with-configs" class="hash-link" aria-label="Direct link to Example: Implementing a Custom Client-only Service (with Configs)" title="Direct link to Example: Implementing a Custom Client-only Service (with Configs)">​</a></h2>
+<p>In this example, we will create a custom service called &quot;TESTCONFIGSRV&quot; and add it to an existing Stack definition. This service is a CLIENT so it has two commands: install and configure. And the service also includes a configuration type &quot;test-config&quot;.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-and-add-the-service-to-the-stack">Create and Add the Service to the Stack<a href="#create-and-add-the-service-to-the-stack" class="hash-link" aria-label="Direct link to Create and Add the Service to the Stack" title="Direct link to Create and Add the Service to the Stack">​</a></h3>
+<ol>
+<li>On the Ambari Server, browse to the <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</code> directory. In this case, we will browse to the HDP 2.0 Stack definition.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">cd</span><span class="token plain"> /var/lib/ambari-server/resources/stacks/HD [...]
+<ol start="2">
+<li>Create a directory named <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/&lt;strong&gt;TESTCONFIGSRV&lt;/strong&gt;</code> that will contain the service definition for TESTCONFIGSRV.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> /var/lib/ambari-server/reso [...]
+<ol start="3">
+<li>Browse to the newly created <code>TESTCONFIGSRV</code> directory, create a <code>metainfo.xml</code> file that describes the new service. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ol start="4">
+<li>
+<p>In the above, my service name is &quot; <strong>TESTCONFIGSRV</strong>&quot;, and it contains one component &quot; <strong>TESTCONFIG_CLIENT</strong>&quot; that is of component category &quot; <strong>CLIENT</strong>&quot;. That client is managed via the command script <code>scripts/test_client.py</code>. Next, let&#x27;s create that command script.</p>
+</li>
+<li>
+<p>Create a directory for the command script <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/TESTCONFIGSRV/package/scripts</code> that we designated in the service metainfo <code>&lt;commandscript&gt;&lt;/commandscript&gt;</code>.</p>
+</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> </span><span class="token p [...]
+<ol start="6">
+<li>Browse to the scripts directory and create the <code>test_client.py</code> file. For example:</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<ol start="7">
+<li>Now let&#x27;s define a config type for this service. Create a directory for the configuration dictionary file <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/servicesTESTCONFIGSRV/configuration</code>.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">mkdir</span><span class="token plain"> </span><span class="token p [...]
+<ol start="8">
+<li>Browse to the configuration directory and create the <code>test-config.xml</code> file. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34" [...]
+<ol start="9">
+<li>Now, restart Ambari Server for this new service definition to be distributed to all the Agents in the cluster.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server restart</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" a [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/extensions/index.html b/docs/2.7.5/ambari-design/stack-and-services/extensions/index.html
index 27a696b..527e22f 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/extensions/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/extensions/index.html
@@ -1,16 +1,60 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/extensions">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/extensions" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Extensions | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/extensions"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" n [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Extensions | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/extensions"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name=" [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="background">Background<a href="#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background">​</a></h2>
+<p>Added in Ambari 2.4.</p>
+<p>An Extension is a collection of one or more custom services which are packaged together. Much like stacks, each extension has a name which needs to be unique in the cluster. It also has a version directory to distinguish different releases of the extension. Much like stack versions which go in <code>/var/lib/ambari-server/resources/stacks with &lt;stack_name&gt;/&lt;stack_version&gt;</code> sub-directories, extension versions go in <code>/var/lib/ambari-server/resources/extensions wit [...]
+<p>An extension can be linked to supported stack versions.  Once an extension version has been linked to the currently installed stack version, the custom services contained in the extension version may be added to the cluster in the same manner as if they were actually contained in the stack version.</p>
+<p>Third party developers can release Extensions which can be added to a cluster.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="structure">Structure<a href="#structure" class="hash-link" aria-label="Direct link to Structure" title="Direct link to Structure">​</a></h2>
+<p>The structure of an Extension definition is as follows:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">|_ extensions</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  [...]
+<p>An extension version is similar to a stack version but it only includes the metainfo.xml and the services directory. This means that the alerts, kerberos, metrics, role command order, widgets files are not supported and should be included at the service level. In addition, the repositories, hooks, configurations, and upgrades directories are not supported although upgrade support can be added at the service level.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="extension-inheritance">Extension Inheritance<a href="#extension-inheritance" class="hash-link" aria-label="Direct link to Extension Inheritance" title="Direct link to Extension Inheritance">​</a></h2>
+<p>Extension versions can extend other Extension versions in order to share command scripts and configurations. This reduces duplication of code across Extensions with the following:</p>
+<ul>
+<li>add new Services in the child Extension version (not in the parent Extension version)</li>
+<li>override command scripts of the parent Services</li>
+<li>override configurations of the parent Services</li>
+</ul>
+<p>For example, <strong>MyExtension 2.0</strong> could extend <strong>MyExtension 1.0</strong> so only the changes applicable to the <strong>MyExtension 2.0</strong> extension are present in that Extension definition. This extension is defined in the metainfo.xml for <strong>MyExtension 2.0</strong>:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="supported-stack-versions">Supported Stack Versions<a href="#supported-stack-versions" class="hash-link" aria-label="Direct link to Supported Stack Versions" title="Direct link to Supported Stack Versions">​</a></h2>
+<p><strong>Each Extension Version must support one or more Stack Versions.</strong>  The Extension Version specifies the minimum Stack Version which it supports.  This is included in the extension&#x27;s metainfo.xml in the prerequisites section like so:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="installing-extensions">Installing Extensions<a href="#installing-extensions" class="hash-link" aria-label="Direct link to Installing Extensions" title="Direct link to Installing Extensions">​</a></h2>
+<p>It is recommended to install extensions using <a href="/docs/2.7.5/ambari-design/stack-and-services/management-packs">management packs</a>.  For more details see the <a href="/docs/2.7.5/ambari-design/stack-and-services/custom-services">instructions on packaging custom services using extensions and management packs</a>.</p>
+<p>Once the extension version directory has been created under the resource/extensions directory with the required metainfo.xml file, you can restart ambari-server.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="extension-rest-apis">Extension REST APIs<a href="#extension-rest-apis" class="hash-link" aria-label="Direct link to Extension REST APIs" title="Direct link to Extension REST APIs">​</a></h2>
+<p>You can query for extensions by calling REST APIs.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-all-extensions">Get all extensions<a href="#get-all-extensions" class="hash-link" aria-label="Direct link to Get all extensions" title="Direct link to Get all extensions">​</a></h3>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token pa [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-extension">Get extension<a href="#get-extension" class="hash-link" aria-label="Direct link to Get extension" title="Direct link to Get extension">​</a></h3>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token pa [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-extension-version">Get extension version<a href="#get-extension-version" class="hash-link" aria-label="Direct link to Get extension version" title="Direct link to Get extension version">​</a></h3>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token pa [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="extension-links">Extension Links<a href="#extension-links" class="hash-link" aria-label="Direct link to Extension Links" title="Direct link to Extension Links">​</a></h2>
+<p>An Extension Link is a link between a stack version and an extension version.  Once an extension version has been linked to the currently installed stack version, the custom services contained in the extension version may be added to the cluster in the same manner as if they were actually contained in the stack version.</p>
+<p>It is only possible to link an extension version to a stack version if the stack version is supported by the extension version.  The stack name must be specified in the prerequisites section of the extension&#x27;s metainfo.xml and the stack version must be greater than or equal to the minimum version number specified.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="extension-link-rest-apis">Extension Link REST APIs<a href="#extension-link-rest-apis" class="hash-link" aria-label="Direct link to Extension Link REST APIs" title="Direct link to Extension Link REST APIs">​</a></h2>
+<p>You can retrieve, create, update and delete extension links by calling REST APIs.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-extension-link">Create Extension Link<a href="#create-extension-link" class="hash-link" aria-label="Direct link to Create Extension Link" title="Direct link to Create Extension Link">​</a></h3>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">The following curl command will link an extension EXT/1.0 to the stack HDP/2.4</span><br></span><span cla [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-all-extension-links">Get All Extension Links<a href="#get-all-extension-links" class="hash-link" aria-label="Direct link to Get All Extension Links" title="Direct link to Get All Extension Links">​</a></h3>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token pa [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="get-extension-link">Get Extension Link<a href="#get-extension-link" class="hash-link" aria-label="Direct link to Get Extension Link" title="Direct link to Get Extension Link">​</a></h3>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">curl</span><span class="token plain"> </span><span class="token pa [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="delete-extension-link">Delete Extension Link<a href="#delete-extension-link" class="hash-link" aria-label="Direct link to Delete Extension Link" title="Direct link to Delete Extension Link">​</a></h3>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">You must specify the ID of the Extension Link to be deleted.</span><br></span><span class="token-line" st [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="update-all-extension-links">Update All Extension Links<a href="#update-all-extension-links" class="hash-link" aria-label="Direct link to Update All Extension Links" title="Direct link to Update All Extension Links">​</a></h3>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">This will reread the stacks, extensions and services in order to make sure the state of the stack is up t [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/faq/index.html b/docs/2.7.5/ambari-design/stack-and-services/faq/index.html
index 9a0cd62..69fcd21 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/faq/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/faq/index.html
@@ -1,16 +1,34 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/faq">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/faq" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">FAQ | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/faq"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusauru [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">FAQ | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/faq"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:lang [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="stackservicemetainfoxml"><strong>[STACK]/[SERVICE]/metainfo.xml</strong><a href="#stackservicemetainfoxml" class="hash-link" aria-label="Direct link to stackservicemetainfoxml" title="Direct link to stackservicemetainfoxml">​</a></h2>
+<p><strong>If a component exists in the parent stack and is defined again in the child stack with just a few attributes, are these values just to override the parent&#x27;s values or the whole component definition is replaced? What about other elements in metainfo.xml -- which rules apply?</strong></p>
+<p>Ambari goes property by property and merge them from parent to child. So if you remove a category for example from the child it will be inherited from parent, that goes for pretty much all properties.</p>
+<p>So, the question is how do we tackle existence of a property in both parent and child. Here, most of the decision still follow same paradigm as take the child value instead of parent and every property in parent, not explicitly deleted from child using a marker like</p>
+<ul>
+<li>
+<p>For config-dependencies, we take all or nothing approach, if this property exists in child use it and all of its children else take it from parent.</p>
+</li>
+<li>
+<p>The custom commands are merged based on names, such that merged definition is a union of commands with child commands with same name overriding those fro parent.</p>
+</li>
+<li>
+<p>Cardinality is overwritten by a child or take from the parent if child has not provided one.</p>
+</li>
+</ul>
+<p>You could look at this method for more details: <code>org.apache.ambari.server.api.util.StackExtensionHelper#mergeServices</code></p>
+<p>For more information see the <a href="/docs/2.7.5/ambari-design/stack-and-services/custom-services#service-inheritance">Service Inheritance</a> wiki page.</p>
+<p><strong>If a component is missing in the new definition but is present in the parent, does it get inherited?</strong></p>
+<p>Generally yes.</p>
+<p><strong>Configuration dependencies for the service -- are they overwritten or merged?</strong></p>
+<p>Overwritten.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/stack-and-services/faq.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 1 [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/hooks/index.html b/docs/2.7.5/ambari-design/stack-and-services/hooks/index.html
index 0689f16..7f26988 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/hooks/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/hooks/index.html
@@ -1,16 +1,42 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/hooks">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/hooks" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Hooks | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/hooks"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docus [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Hooks | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/hooks"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch: [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>A stack can add during the following points in Ambari actions:</p>
+<ul>
+<li>before ANY</li>
+<li>before and after INSTALL</li>
+<li>before RESTART</li>
+<li>before START</li>
+</ul>
+<p>As mentioned in <a href="/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance">Stack Inheritance</a>, the hooks directory if defined in the current stack version replace those from the parent stack version. This means the files included in those directories at the parent level will not be inherited. You will need to copy all the files you wish to keep from that directory structure.</p>
+<p>The hooks directory should have 5 sub-directories:</p>
+<ul>
+<li>after-INSTALL</li>
+<li>before-ANY</li>
+<li>before-INSTALL</li>
+<li>before-RESTART</li>
+<li>before-START</li>
+</ul>
+<p>Each hook directory can have 3 sub-directories:</p>
+<ul>
+<li>files</li>
+<li>scripts</li>
+<li>templates</li>
+</ul>
+<p>The scripts directory is the main directory and must be supplied. This must contain a hook.py file. It may contain other python scripts which initialize variables (like a params.py file) or other utility files contain functions used in the hook.py file.</p>
+<p>The files directory can any non-python files such as scripts, jar or properties files.</p>
+<p>The templates folder can contain any required j2 files that are used to set up properties files.</p>
+<p>The hook.py file should extend the Hook class defined in resource_management/libraries/script/hook.py. The naming convention is to name the hook class after the hook folder such as AfterInstallHook if the class is in the after-INSTALL folder. The hook.py file must define the hook(self, env) function. Here is an example hook:</p>
+<blockquote>
+</blockquote>
+<div class="language-py codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-py codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> resource_management</span><span c [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/how-to-define-stacks-and-services/index.html b/docs/2.7.5/ambari-design/stack-and-services/how-to-define-stacks-and-services/index.html
index 210ae58..ee21141 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/how-to-define-stacks-and-services/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/how-to-define-stacks-and-services/index.html
@@ -1,30 +1,389 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/how-to-define-stacks-and-services">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/how-to-define-stacks-and-services" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">How-To Define Stacks and Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/how-to-define-stacks-and-services"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">How-To Define Stacks and Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/how-to-define-stacks-and-services"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_lo [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-One would define services in the <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/common-services" target="_blank" rel="noopener noreferrer">common-services</a>folder if there is possibility of the service being used in multiple stacks. For example, almost all stacks would need the HDFS service - so instead of redefining HDFS in each stack, the one defined in common-services is referenced .Likewise, if a service is never going to be shared, it can be  [...]
-Yes. Though it is possible, it is discouraged to define multiple services in the same service folder.</p></blockquote><p>YARN and MapReduce2 are services that are defined together in the <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0" target="_blank" rel="noopener noreferrer">YARN folder</a>. Its <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/metainf [...]
-Each of these scripts should extend the <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-common/src/main/python/resource_management/libraries/script/script.py" target="_blank" rel="noopener noreferrer">Script</a> class which provides useful methods. Example: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py#L68" target="_blank" rel="noopener noreferrer">NameNode script< [...]
-Folder | Purpose
--------|--------
-<strong>package/scripts</strong> | Contains scripts invoked by Ambari. These scripts are loaded into the execution path with the correct environment.<br>Example: <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts" target="_blank" rel="noopener noreferrer">HDFS</a>
-<strong>package/files</strong> | Contains files used by above scripts. Generally these are other scripts (bash, python, etc.) invoked as a separate process.<br>Example: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/files/checkWebUI.py" target="_blank" rel="noopener noreferrer">checkWebUI.py</a> is run in HDFS service-check to determine if Journal Nodes are available
-<strong>package/templates</strong> | Template files used by above scripts to generate files on managed hosts. These are generally configuration files required by the service to operate.<br>Example: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/templates/exclude_hosts_list.j2" target="_blank" rel="noopener noreferrer">exclude_hosts_list.j2</a> which is used by scripts to generate <em>/etc/hadoop/conf/dfs.exclud [...]
-NameNode <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py#L93" target="_blank" rel="noopener noreferrer">Start</a>, <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py#L208" target="_blank" rel="noopener noreferrer">Stop</a>.</p></blockquote><p>DataNode <a href="https://github.com/apache/amba [...]
-In Ambari UI, add your component action to the <em>App.HostComponentActionMap</em> object with custom icon and name. Ex: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-web/app/models/host_component.js#L351" target="_blank" rel="noopener noreferrer">REBALANCEHDFS</a>.</p></blockquote><h3 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a class="hash-link" href="#configuration" title="Direct link to heading">​</a></h3><p>Configuration files fo [...]
-The <em>repoinfo.xml</em> file contains repositories grouped by operating systems. Each OS specifies a list of repositories that are shown to the user when the stack-version is selected for install.</p><p>These repositories are used in conjunction with the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metainfo.xml#L161" target="_blank" rel="noopener noreferrer"><em>packages</em> defined in a service&#x27;s metainfo.xm [...]
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>Services managed by Ambari are defined in its <em>stacks</em> folder .</p>
+<p>To define your own services and stacks to be managed by Ambari, follow the steps below.</p>
+<p>There is also an example you can follow on how to <a href="/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services">create your custom stack and service</a>.</p>
+<p>A stack is a collection of services. Multiple versions of a stack can be defined, each with its own set of services. Stacks in Ambari are defined in <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks" target="_blank" rel="noopener noreferrer">ambari-server/src/main/resources/stacks ;</a>folder, which can be found at <strong>/var/lib/ambari-server/resources/stacks</strong> folder after install.</p>
+<p>Services managed by a stack can be defined either in <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/common-services" target="_blank" rel="noopener noreferrer">ambari-server/src/main/resources/common-services</a>or <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks" target="_blank" rel="noopener noreferrer">ambari-server/src/main/resources/stacks</a>folders. These folders after install can be found at <em> [...]
+<blockquote>
+<p><strong>Question: When do I define service in <em>common-services</em> vs. <em>stacks</em> folders?</strong>
+One would define services in the <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/common-services" target="_blank" rel="noopener noreferrer">common-services</a>folder if there is possibility of the service being used in multiple stacks. For example, almost all stacks would need the HDFS service - so instead of redefining HDFS in each stack, the one defined in common-services is referenced .Likewise, if a service is never going to be shared, it can be  [...]
+</blockquote>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="define-service">Define Service<a href="#define-service" class="hash-link" aria-label="Direct link to Define Service" title="Direct link to Define Service">​</a></h2>
+<p>Shown below is how to define a service in <em>common-services</em> folder. The same approach can be taken when defining services in the <em>stacks</em> folder, which will be discussed in the <em>Define Stack</em> section.</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/define-service-9bba55f25452b04797b9fd5fee978b9e.png" width="1022" height="654" class="img_ev3q"></p>
+<p>Services <strong>MUST</strong> provide the main <em>metainfo.xml</em> file which provides important metadata about the service.</p>
+<p>Apart from that, other files can be provided to give more information about the service. More details about these files are provided below.</p>
+<p>A service may also inherit from either a previous stack version or common services. For more information see the <a href="/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance">Service Inheritance</a> page.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metainfoxml"><em>metainfo.xml</em><a href="#metainfoxml" class="hash-link" aria-label="Direct link to metainfoxml" title="Direct link to metainfoxml">​</a></h3>
+<p>In the <em>metainfo.xml</em> service descriptor, one can first define the service and its components.</p>
+<p>Complete reference can be found in the <a href="/docs/2.7.5/ambari-design/stack-and-services/writing-metainfo">Writing metainfo.xml</a> page.</p>
+<p>A good reference implementation is the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metainfo.xml#L27" target="_blank" rel="noopener noreferrer">HDFS metainfo.xml</a>.</p>
+<blockquote>
+<p><strong>Question: Is it possible to define multiple services in the same metainfo.xml?</strong>
+Yes. Though it is possible, it is discouraged to define multiple services in the same service folder.</p>
+</blockquote>
+<p>YARN and MapReduce2 are services that are defined together in the <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0" target="_blank" rel="noopener noreferrer">YARN folder</a>. Its <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/metainfo.xml" target="_blank" rel="noopener noreferrer">metainfo.xml</a> defines both services.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="scripts">Scripts<a href="#scripts" class="hash-link" aria-label="Direct link to Scripts" title="Direct link to Scripts">​</a></h4>
+<p>With the components defined, we need to provide scripts which can handle the various stages of the service and component&#x27;s lifecycle.</p>
+<p>The scripts necessary to manage service and components are specified in the <em>metainfo.xml</em> (<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metainfo.xml#L35" target="_blank" rel="noopener noreferrer">HDFS</a>)
+Each of these scripts should extend the <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-common/src/main/python/resource_management/libraries/script/script.py" target="_blank" rel="noopener noreferrer">Script</a> class which provides useful methods. Example: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py#L68" target="_blank" rel="noopener noreferrer">NameNode script</a></p>
+<p><img decoding="async" loading="lazy" src="/assets/images/scripts-a70dece11f1179d56a45ff9ac3c645c0.png" width="1442" height="950" class="img_ev3q"></p>
+<p>These scripts should be provided in the __ folder.</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/scripts-folder-84e22cef867bda407686971117d6519e.png" width="632" height="276" class="img_ev3q"></p>
+<p><strong>package/scripts</strong></p>
+<table><thead><tr><th>Folder</th><th>Purpose</th></tr></thead><tbody><tr><td><strong>package/scripts</strong></td><td>Contains scripts invoked by Ambari. These scripts are loaded into the execution path with the correct environment.<br>Example: <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts" target="_blank" rel="noopener noreferrer">HDFS</a></td></tr><tr><td><strong>package/files</strong></td><td>Contai [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="python">Python<a href="#python" class="hash-link" aria-label="Direct link to Python" title="Direct link to Python">​</a></h4>
+<p>Ambari by default supports Python scripts for management of service and components.</p>
+<p>Component scripts should extend <code>resource_management.Script</code> class and provide methods required for that component&#x27;s lifecycle.</p>
+<p>Taken from the page on <a href="/docs/2.7.5/ambari-design/stack-and-services/defining-a-custom-stack-and-services">how to create custom stack</a>, the following methods are needed for MASTER, SLAVE and CLIENT components to go through their lifecycle.</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<p>Ambari provides helpful Python libraries below which are useful in writing service scripts. For complete reference on these libraries visit the <a href="https://cwiki.apache.org/confluence/display/AMBARI/Ambari+Python+Libraries" target="_blank" rel="noopener noreferrer">Ambari Python Libraries</a> page.</p>
+<ul>
+<li>resource_management</li>
+<li>ambari_commons</li>
+<li>ambari_simplejson</li>
+</ul>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="os-variant-scripts">OS Variant Scripts<a href="#os-variant-scripts" class="hash-link" aria-label="Direct link to OS Variant Scripts" title="Direct link to OS Variant Scripts">​</a></h5>
+<p>If the service is supported on multiple OSes which requires separate scripts, the base <em>resource_management.Script</em> class can be extended with different <em>@OsFamilyImpl()</em> annotations.</p>
+<p>This allows for the separation of only OS specific methods of the component.</p>
+<p>Example: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py#L126" target="_blank" rel="noopener noreferrer">NameNode default script</a>, <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py#L346" target="_blank" rel="noopener noreferrer">NameNode Windows script</a>.</p>
+<blockquote>
+<p><strong>Examples</strong>
+NameNode <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py#L93" target="_blank" rel="noopener noreferrer">Start</a>, <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_namenode.py#L208" target="_blank" rel="noopener noreferrer">Stop</a>.</p>
+</blockquote>
+<p>DataNode <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_datanode.py#L68" target="_blank" rel="noopener noreferrer">Start and Stop</a>.</p>
+<p>HDFS <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs.py#L31" target="_blank" rel="noopener noreferrer">configurations persistence</a></p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="custom-actions">Custom Actions<a href="#custom-actions" class="hash-link" aria-label="Direct link to Custom Actions" title="Direct link to Custom Actions">​</a></h4>
+<p>Sometimes services need to perform actions unique to that service which go beyond the default actions provided by Ambari (like <em>install</em> , <em>start, stop, configure,</em> etc.).</p>
+<p>Services can define such actions and expose them to the user in UI so that they can be easily invoked.</p>
+<p>As an example, we show the <em>Rebalance HDFS</em> custom action implemented by HDFS.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="stack-changes">Stack Changes<a href="#stack-changes" class="hash-link" aria-label="Direct link to Stack Changes" title="Direct link to Stack Changes">​</a></h5>
+<ol>
+<li>
+<p><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metainfo.xml#L49" target="_blank" rel="noopener noreferrer">Define custom command inside the <em>customCommands</em> section</a> of the component in <em>metainfo.xml</em>.</p>
+</li>
+<li>
+<p><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py#L273" target="_blank" rel="noopener noreferrer">Implement method with same name as custom command</a> in script referenced from <em>metainfo.xml</em>.</p>
+</li>
+<li>
+<p>If custom command does not have OS variants, it can be implemented in the same class that extends <em>resource_management.Script</em></p>
+</li>
+<li>
+<p>If there are OS variants, different methods can be implemented in each class annotated by <em>@OsFamilyImpl(os_family=...)</em>. <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode.py#L273" target="_blank" rel="noopener noreferrer">Default rebalancehdfs</a>,<a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/sc [...]
+</li>
+</ol>
+<p>This will provide ability by the backend to run the script on all managed hosts where the service is installed.</p>
+<h5 class="anchor anchorWithStickyNavbar_LWe7" id="ui-changes">UI Changes<a href="#ui-changes" class="hash-link" aria-label="Direct link to UI Changes" title="Direct link to UI Changes">​</a></h5>
+<p>No UI changes are necessary to see the custom action on the host page.</p>
+<p>The action should show up in the host-component&#x27;s list of actions. Any master-component actions will automatically show up on the service&#x27;s action menu.</p>
+<p>When the action is clicked in UI, the POST call is made automatically to trigger the script defined above.</p>
+<blockquote>
+<p><strong>Question: How do I provide my own label and icon for the custom action in UI?</strong>
+In Ambari UI, add your component action to the <em>App.HostComponentActionMap</em> object with custom icon and name. Ex: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-web/app/models/host_component.js#L351" target="_blank" rel="noopener noreferrer">REBALANCEHDFS</a>.</p>
+</blockquote>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h3>
+<p>Configuration files for a service should be placed by default in the _ <a href="https://github.com/apache/ambari/tree/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration" target="_blank" rel="noopener noreferrer">configuration</a>_ folder.</p>
+<p>If a different named folder has to be used, the <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/metainfo.xml#L249" target="_blank" rel="noopener noreferrer">&lt; <em>configuration-dir&gt;</em></a> element can be used in <em>metainfo.xml</em> to point to that folder.</p>
+<p>The important sections of the metainfo.xml with regards to configurations are:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ul>
+<li>
+<p><strong>config-type</strong> - String representing a group of configurations. Example: <em>core-site, hdfs-site, yarn-site</em>, etc. When configurations are saved in Ambari, they are persisted within a version of config-type which is immutable. If you change and save HDFS core-site configs 4 times, you will have 4 versions of config-type core-site. Also, when a service&#x27;s configs are saved, only the changed config-types are updated.</p>
+</li>
+<li>
+<p><strong>configFiles</strong> - lists the config-files handled by the enclosing component</p>
+</li>
+<li>
+<p><strong>configFile</strong> - represents one config-file of a certain type</p>
+<ul>
+<li>
+<p><strong>type</strong> - type of file based on which contents are generated differently</p>
+<ul>
+<li><strong>xml</strong> - XML file generated in Hadoop friendly format. Ex:<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hdfs-site.xml" target="_blank" rel="noopener noreferrer">hdfs-site.xml</a></li>
+<li><strong>env</strong> - Generally used for scripts where the content value is used as a template. The template has config-tags whose values are populated at runtime during file generation. Ex:<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-env.xml" target="_blank" rel="noopener noreferrer">hadoop-env.sh</a></li>
+<li><strong>properties</strong> - Generates property files where entries are in key=value format. Ex:<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/FALCON/0.5.0.2.1/configuration/falcon-runtime.properties.xml" target="_blank" rel="noopener noreferrer">falcon-runtime.properties</a></li>
+</ul>
+</li>
+<li>
+<p><strong>dictionaryName</strong> - Name of the config-type as which key/values of this config file will be stored</p>
+</li>
+</ul>
+</li>
+<li>
+<p><strong>configuration-dependencies</strong> - Lists the config-types on which this component or service depends on. One of the implications of this dependency is that whenever the config-type is updated, Ambari automatically marks the component or service as requiring restart. From the code section above, whenever <em>core-site</em> is updated, both HDFS service as well as HDFS_CLIENT component will be marked as requiring restart.</p>
+</li>
+<li>
+<p><strong>configuration-dir</strong> - Directory where files listed in <em>configFiles</em> will be. Optional. Default value is <em>configuration</em>.</p>
+</li>
+</ul>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="adding-new-configs-in-a-config-type">Adding new configs in a config-type<a href="#adding-new-configs-in-a-config-type" class="hash-link" aria-label="Direct link to Adding new configs in a config-type" title="Direct link to Adding new configs in a config-type">​</a></h4>
+<p>There are a number of different parameters that can be specified to a config item when it is added to a config-type. These have been covered <a href="https://cwiki.apache.org/confluence/display/AMBARI/Configuration+support+in+Ambari" target="_blank" rel="noopener noreferrer">here</a>.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="ui---categories">UI - Categories<a href="#ui---categories" class="hash-link" aria-label="Direct link to UI - Categories" title="Direct link to UI - Categories">​</a></h4>
+<p>Configurations defined above show up in the service&#x27;s <em>Configs</em> page.</p>
+<p>To customize categories and ordering of configurations in UI, the following files have to be updated.</p>
+<p><strong>Create Category</strong> - Update the _ <a href="https://github.com/apache/ambari/blob/trunk/ambari-web/app/models/stack_service.js#L226" target="_blank" rel="noopener noreferrer">ambari-web/app/models/stack_service.js</a>_ file to add your own service, along with your new categories.</p>
+<p><strong>Use Category</strong> - To place configs inside a defined category, and specify an order in which configs are placed, add configs to <a href="https://github.com/apache/ambari/blob/trunk/ambari-web/app/data/HDP2/site_properties.js" target="_blank" rel="noopener noreferrer">ambari-web/app/data/HDP2/site_properties.js</a> file. In this file one can specify the category to use, and the index where a config should be placed. The stack folders in <a href="https://github.com/apache/a [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="ui---enhanced-configs">UI - Enhanced Configs<a href="#ui---enhanced-configs" class="hash-link" aria-label="Direct link to UI - Enhanced Configs" title="Direct link to UI - Enhanced Configs">​</a></h4>
+<p>The _Enhanced Configs_feature makes it possible for service providers to customize their service&#x27;s configs to a great deal and determine which configs are prominently shown to user without making any UI code changes. Customization includes providing a service friendly layout, better controls (sliders, combos, lists, toggles, spinners, etc.), better validation (minimum, maximum, enums), automatic unit conversion (MB, GB, seconds, milliseconds, etc.), configuration dependencies and [...]
+<p>A service provider can accomplish all the above just by changing their service definition in the <em>stacks</em>/folder.</p>
+<p>Read more in the _ <a href="https://cwiki.apache.org/confluence/display/AMBARI/Enhanced+Configs" target="_blank" rel="noopener noreferrer">Enhanced Configs</a>_ page</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="alerts">Alerts<a href="#alerts" class="hash-link" aria-label="Direct link to Alerts" title="Direct link to Alerts">​</a></h3>
+<p>Each service is capable of defining which alerts Ambari should track by providing an <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/alerts.json" target="_blank" rel="noopener noreferrer">alerts.json</a> file.</p>
+<p>Read more about Ambari Alerts framework <a href="https://cwiki.apache.org/confluence/display/AMBARI/Alerts" target="_blank" rel="noopener noreferrer">in the Alerts wiki page</a> and the alerts.json format in the <a href="https://github.com/apache/ambari/blob/branch-2.1/ambari-server/docs/api/v1/alert-definitions.md" target="_blank" rel="noopener noreferrer">Alerts definition documentation</a>.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="kerberos">Kerberos<a href="#kerberos" class="hash-link" aria-label="Direct link to Kerberos" title="Direct link to Kerberos">​</a></h3>
+<p>Ambari is capable of enabling and disabling Kerberos for a cluster. To inform Ambari of the identities and configurations to be used for the service and its components, each service can provide a <em>kerberos.json</em> file.</p>
+<p>Read more about Kerberos support in the _ <a href="https://cwiki.apache.org/confluence/display/AMBARI/Automated+Kerberizaton" target="_blank" rel="noopener noreferrer">Automated Kerberization</a>_ wiki page and the Kerberos descriptor in the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/docs/security/kerberos/kerberos_descriptor.md" target="_blank" rel="noopener noreferrer">Kerberos Descriptor documentation</a>.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metrics">Metrics<a href="#metrics" class="hash-link" aria-label="Direct link to Metrics" title="Direct link to Metrics">​</a></h3>
+<p>Ambari provides the <a href="https://cwiki.apache.org/confluence/display/AMBARI/Metrics" target="_blank" rel="noopener noreferrer">Ambari Metrics System (&quot;AMS&quot;)</a>service for collecting, aggregating and serving Hadoop and system metrics in Ambari-managed clusters.</p>
+<p>Each service can define which metrics AMS should collect and provide by defining a <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metrics.json" target="_blank" rel="noopener noreferrer">metrics.json</a> file.</p>
+<p>You can read about the metrics.json file format in the <a href="https://cwiki.apache.org/confluence/display/AMBARI/Stack+Defined+Metrics" target="_blank" rel="noopener noreferrer">Stack Defined Metrics</a> page.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="quick-links">Quick Links<a href="#quick-links" class="hash-link" aria-label="Direct link to Quick Links" title="Direct link to Quick Links">​</a></h3>
+<p>A service can add a list of quick links to the Ambari web UI by adding metainfo to a text file following a predefined JSON format. Ambari server parses the quicklink JSON file and provides its content to the UI. So that Ambari web UI can calculate quick link URLs based on the information and populate the quicklinks drop-down list accordingly.</p>
+<p>Read more about quick links JSON file design in the <a href="/docs/2.7.5/ambari-design/quick-links">Quick Links</a> page.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="widgets">Widgets<a href="#widgets" class="hash-link" aria-label="Direct link to Widgets" title="Direct link to Widgets">​</a></h3>
+<p>Each service can define which widgets and heatmaps show up by default on the service summary page by defining a <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/widgets.json" target="_blank" rel="noopener noreferrer">widgets.json</a> file.</p>
+<p>You can read more about the widgets descriptor in the <a href="https://cwiki.apache.org/confluence/display/AMBARI/Enhanced+Service+Dashboard" target="_blank" rel="noopener noreferrer">Enhanced Service Dashboard</a> page.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="role-command-order">Role Command Order<a href="#role-command-order" class="hash-link" aria-label="Direct link to Role Command Order" title="Direct link to Role Command Order">​</a></h3>
+<p>From Ambari 2.2, each service can define its own role command order by including the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/role_command_order.json" target="_blank" rel="noopener noreferrer">role_command_order.json</a> file in its service folder. The service should only specify the relationship of its components to other components. In other words, if a service only includes COMP_X, it should only list dependencies relate [...]
+<p><strong>Example service role_command_order.json</strong></p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token property" style="color:#36acaa">&quot;COMP_X-START&quot;</span><span class="token operator" style= [...]
+<p>The entries in the service&#x27;s role command order will be merged with the role command order defined in the stack. For example, since the stack already has a dependency for NAMENODE-STOP, in the example above COMP_X-STOP would be added to the rest of the NAMENODE-STOP dependencies and in addition the COMP_X-START dependency on NAMENODE-START would just be added as a new dependency.</p>
+<p>For more details on role command order, see the <a href="https://cwiki.apache.org/confluence/display/AMBARI/How-To+Define+Stacks+and+Services#How-ToDefineStacksandServices-RoleCommandOrder" target="_blank" rel="noopener noreferrer">Role Command Order</a> section below.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="service-advisor">Service Advisor<a href="#service-advisor" class="hash-link" aria-label="Direct link to Service Advisor" title="Direct link to Service Advisor">​</a></h3>
+<p>From Ambari 2.4, each service can choose to define its own service advisor rather than define the details of its configuration and layout in the stack advisor. This is particularly useful for custom services which are not defined in the stack. Ambari provides the <em>Service Advisor</em> capability where a service can write a Python script named <em>service-advisor.py</em> in their service folder. This folder can be in the stack&#x27;s services directory where the service is defined o [...]
+<p>Unlike the Stack-advisor scripts, the service-advisor scripts do not automatically extend the parent service&#x27;s service-advisor scripts. The service-advisor script needs to explicitly extend their parent&#x27;s service service-advisor script. The following code sample shows how you would refer to a parent&#x27;s service_advisor.py. In this case it is extending the root service-advisor.py file in the resources/stacks directory.</p>
+<p><strong>Sample service-advisor.py file inheritance</strong></p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">SCRIPT_DIR </span><span class="token operator" style="color:#393A34">=</span><span clas [...]
+<p>Like the stack advisors, service advisors provide information on 4 important aspects:</p>
+<ol>
+<li>Recommend layout of the service on cluster</li>
+<li>Recommend service configurations</li>
+<li>Validate layout of the service on cluster</li>
+<li>Validate service configurations</li>
+</ol>
+<p>By providing the service-advisor.py file, one can control dynamically each of the above for the service.</p>
+<p>The main interface for the service-advisor scripts contains documentation on how each of the above are called, and what data is provided.</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="toke [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="examples"><strong>Examples</strong><a href="#examples" class="hash-link" aria-label="Direct link to examples" title="Direct link to examples">​</a></h4>
+<ul>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/service_advisor.py#L51" target="_blank" rel="noopener noreferrer">Service Advisor interface</a></li>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HAWQ/2.0.0/service_advisor.py" target="_blank" rel="noopener noreferrer">HAWQ 2.0.0 Service Advisor implementation</a></li>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/PXF/3.0.0/service_advisor.py" target="_blank" rel="noopener noreferrer">PXF 3.0.0 Service Advisor implementation</a></li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="service-upgrade">Service Upgrade<a href="#service-upgrade" class="hash-link" aria-label="Direct link to Service Upgrade" title="Direct link to Service Upgrade">​</a></h3>
+<p>From Ambari 2.4, each service can now define its upgrade within its service definition. This is particularly useful for custom services which no longer need to modify the stack&#x27;s upgrade-packs in order to integrate themselves into the <a href="https://cwiki.apache.org/confluence/display/AMBARI/How-To+Define+Stacks+and+Services#How-ToDefineStacksandServices-StackUpgrades" target="_blank" rel="noopener noreferrer">cluster upgrade</a>.</p>
+<p>Each service can define <em>upgrade-packs</em>, which are XML files describing the upgrade process of that particular service and how the upgrade pack relates to the overall stack upgrade-packs. These <em>upgrade-pack</em> XML files are placed in the service&#x27;s <em>upgrades/</em> folder in separate sub-folders specific to the stack-version they are meant to extend. Some examples of this can be seen in the testing code.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="examples-1">Examples<a href="#examples-1" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h4>
+<ul>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/test/resources/stacks/HDP/2.0.5/services/HDFS/upgrades/" target="_blank" rel="noopener noreferrer">Upgrades folder</a></li>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/test/resources/stacks/HDP/2.0.5/services/HDFS/upgrades/HDP/2.2.0/upgrade_test_15388.xml" target="_blank" rel="noopener noreferrer">Upgrade-pack XML</a></li>
+</ul>
+<p>Each upgrade-pack that the service defines should match the file name of the service defined by a particular stack version. For example in the testing code, HDP 2.2.0 had an <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_15388.xml" target="_blank" rel="noopener noreferrer">upgrade_test_15388.xml</a> upgrade-pack. The HDFS service defined an extension to that upgrade pack <a href="https://github.com/apache/am [...]
+<p>The file format for the service is much the same as that of the stack. The target, target-stack and type attributes should all be the same as the stack&#x27;s upgrade-pack. The service is able to add its own prerequisite checks.</p>
+<p><strong>General Attributes and Prerequisite Checks</strong></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&lt;upgrade xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt;</span><br></span><span cl [...]
+<p>The order section of the upgrade-pack, consists of group elements just like the stack&#x27;s upgrade-pack.  The key difference is defining how these groups relate to groups in the stack&#x27;s upgrade pack or other service upgrade-packs.  In the first example we are referencing the PRE_CLUSTER group and adding a new execute-stage for the service FOO.  The entry is supposed to be added after the execute-stage for HDFS based on the <code>&lt;add-after-group-entry&gt;</code> tag.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">orde [...]
+<p>The same syntax can be used to order other sections like service check priorities and group services.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">grou [...]
+<p>It is also possible to add new groups and order them after other groups in the stack&#x27;s upgrade-packs. In the following example, we are adding the FOO group after the HIVE group using the add-after-group tag.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">grou [...]
+<p>You could also include both the add-after-group and the add-after-group-entry tags in the same group. This will create a new group if it doesn&#x27;t already exist and will order it after the add-after-group&#x27;s group name. The add-after-group-entry will determine the internal ordering of that group&#x27;s services, priorities or execute stages.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">grou [...]
+<p>The processing section of the upgrade-pack remains the same as what it would be in the stack&#x27;s upgrade-pack.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">   </span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="t [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="define-stack">Define Stack<a href="#define-stack" class="hash-link" aria-label="Direct link to Define Stack" title="Direct link to Define Stack">​</a></h2>
+<p>A stack is a versioned collection of services. Each stack is a folder is defined in <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks" target="_blank" rel="noopener noreferrer">ambari-server/src/main/resources/stacks</a> source. Once installed, these stack definitions are available on the ambari-server machine at <em>/var/lib/ambari-server/resources/stacks</em>.</p>
+<p>Each stack folder contains one sub-folder per version of the stack. Some of these stack-versions are active while some are not. Each stack-version includes services which are either referenced from <em>common-services</em>, or defined inside the stack-version&#x27;s <em>services</em> folder.</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/define-stack-f2edf8d59e0df1bbc1aece50a17e71a1.png" width="766" height="792" class="img_ev3q"></p>
+<p>Example: <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/HDP" target="_blank" rel="noopener noreferrer">HDP stack</a>. <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/HDP/2.4" target="_blank" rel="noopener noreferrer">HDP-2.4 stack version</a>.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stack-version-descriptor">Stack-Version Descriptor<a href="#stack-version-descriptor" class="hash-link" aria-label="Direct link to Stack-Version Descriptor" title="Direct link to Stack-Version Descriptor">​</a></h3>
+<p>Each stack-version should provide a <em>metainfo.xml</em> (Example: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.3/metainfo.xml" target="_blank" rel="noopener noreferrer">HDP-2.3</a>, <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.4/metainfo.xml" target="_blank" rel="noopener noreferrer">HDP-2.4</a>) descriptor file which describes the following about this stack-version:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<ul>
+<li>
+<p><strong>versions/active</strong> - Whether this stack-version is still available for install. If not available, this version will not show up in UI during install.</p>
+</li>
+<li>
+<p><strong>extends</strong> - The stack-version in this stack that is being extended. Extended stack-versions inherit services along with almost all aspects of the parent stack-version.</p>
+</li>
+<li>
+<p><strong>minJdk</strong> - Minimum JDK with which this stack-version is supported. Users are warned during installer wizard if the JDK used by Ambari is lower than this version.</p>
+</li>
+<li>
+<p><strong>maxJdk</strong> - Maximum JDK with which this stack-version is supported. Users are warned during installer wizard if the JDK used by Ambari is greater than this version.</p>
+</li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stack-properties">Stack Properties<a href="#stack-properties" class="hash-link" aria-label="Direct link to Stack Properties" title="Direct link to Stack Properties">​</a></h3>
+<p>The stack must contain or inherit a properties directory which contains two files: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json" target="_blank" rel="noopener noreferrer">stack_features.json</a> and <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_tools.json" target="_blank" rel="noopener noreferrer">stack_tools.json</a>. This  [...]
+<p>The stack_features.json contains a list of features that are included in Ambari and allows the stack to specify which versions of the stack include those features. The list of features are determined by the particular Ambari release. The reference list for a particular Ambari version should be found in the <a href="https://github.com/apache/ambari/blob/branch-2.4/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json" target="_blank" rel="noopener noreferrer" [...]
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<p>The stack_tools.json includes the name and location where the stack_selector and conf_selector tools are installed.</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<p>Any custom stack must include these two JSON files. For further information see the <a href="/docs/2.7.5/ambari-design/stack-and-services/stack-properties">Stack Properties</a> wiki page.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="services">Services<a href="#services" class="hash-link" aria-label="Direct link to Services" title="Direct link to Services">​</a></h3>
+<p>Each stack-version includes services which are either referenced from <em>common-services</em>, or defined inside the stack-version&#x27;s <em>services</em> folder.</p>
+<p>Services are defined in <em>common-services</em> if they will be shared across multiple stacks. If they will never be shared, then they can be defined inside the stack-version.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="reference-common-services">Reference <em>common-services</em><a href="#reference-common-services" class="hash-link" aria-label="Direct link to reference-common-services" title="Direct link to reference-common-services">​</a></h4>
+<p>To reference a service from common-services, the service descriptor file should use the &lt; <em>extends&gt;</em> element. (Example: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/metainfo.xml" target="_blank" rel="noopener noreferrer">HDFS in HDP-2.0.6</a>)</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="define-service-1">Define Service<a href="#define-service-1" class="hash-link" aria-label="Direct link to Define Service" title="Direct link to Define Service">​</a></h4>
+<p>In exactly the same format as services defined in <em>common-services</em>, a new service can be defined inside the <em>services</em> folder.</p>
+<p>Examples:</p>
+<ul>
+<li><a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/BIGTOP/0.8/services/HDFS" target="_blank" rel="noopener noreferrer">HDFS in BIGTOP-0.8</a></li>
+<li><a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/services/GLUSTERFS" target="_blank" rel="noopener noreferrer">GlusterFS in HDP-2.3.GlusterFS</a></li>
+</ul>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="extend-service">Extend Service<a href="#extend-service" class="hash-link" aria-label="Direct link to Extend Service" title="Direct link to Extend Service">​</a></h4>
+<p>When a stack-version extends another stack-version, it inherits all details of the parent service. It is also free to override and remove any portion of the inherited service definition.</p>
+<p>Examples:</p>
+<ul>
+<li>HDP-2.3 / HDFS -<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/metainfo.xml" target="_blank" rel="noopener noreferrer">Adding NFS_GATEWAY component, updating service version and OS specific packages</a></li>
+<li>HDP-2.2 / Storm -<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.2/services/STORM/metainfo.xml" target="_blank" rel="noopener noreferrer">Deleting STORM_REST_API component, updating service version and OS specific packages</a></li>
+<li>HDP-2.3 / YARN -<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/configuration/capacity-scheduler.xml" target="_blank" rel="noopener noreferrer">Deleting YARN node-label configuration from capacity-scheduler.xml</a></li>
+<li>HDP-2.3 / Kafka -<a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.3/services/KAFKA/alerts.json" target="_blank" rel="noopener noreferrer">Add Kafka Broker Process alert</a></li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="role-command-order-1">Role Command Order<a href="#role-command-order-1" class="hash-link" aria-label="Direct link to Role Command Order" title="Direct link to Role Command Order">​</a></h3>
+<p><em><strong>Role</strong></em> is another name for <strong>Component</strong> (Ex: NAMENODE, DATANODE, RESOURCEMANAGER, HBASE_MASTER, etc.)</p>
+<p>As the name implies, it is possible to tell Ambari about the order in which commands should be run for the components defined in your stack.</p>
+<p>For example: &quot;<em>ZooKeeper Server</em> should be started before starting <em>NameNode</em>&quot;. Or &quot;<em>HBase Master</em> should be started only after <em>NameNode</em> and <em>DataNodes</em> are started&quot;.</p>
+<p>This can be specified by including the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/role_command_order.json" target="_blank" rel="noopener noreferrer">role_command_order.json</a> file in the stack-version folder.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="format">Format<a href="#format" class="hash-link" aria-label="Direct link to Format" title="Direct link to Format">​</a></h4>
+<p>Specified in JSON format, the file contains a JSON object with top-level keys being either section names or comments Ex: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/role_command_order.json" target="_blank" rel="noopener noreferrer">HDP-2.0.6</a>.</p>
+<p>Inside each section object, the key describes the dependent component-action, and the value lists the component-actions which should be done before it.</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sections">Sections<a href="#sections" class="hash-link" aria-label="Direct link to Sections" title="Direct link to Sections">​</a></h4>
+<p>Ambari uses the below sections only:</p>
+<table><thead><tr><th>Section Name</th><th>When Used</th></tr></thead><tbody><tr><td>general_deps</td><td>Command orders are applied in all situations</td></tr><tr><td>optional_glusterfs</td><td>Command orders are applied when cluster has instance of GLUSTERFS service</td></tr><tr><td>optional_no_glusterfs</td><td>Command orders are applied when cluster does not have instance of GLUSTERFS service</td></tr><tr><td>namenode_optional_ha</td><td>Command orders are applied when HDFS service i [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="commands">Commands<a href="#commands" class="hash-link" aria-label="Direct link to Commands" title="Direct link to Commands">​</a></h4>
+<p>Commands currently supported by Ambari are</p>
+<ul>
+<li>INSTALL</li>
+<li>UNINSTALL</li>
+<li>START</li>
+<li>RESTART</li>
+<li>STOP</li>
+<li>EXECUTE</li>
+<li>ABORT</li>
+<li>UPGRADE</li>
+<li>SERVICE_CHECK</li>
+<li>CUSTOM_COMMAND</li>
+<li>ACTIONEXECUTE</li>
+</ul>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="examples-2">Examples<a href="#examples-2" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h4>
+<table><thead><tr><th>Role Command Order</th><th>Explanation</th></tr></thead><tbody><tr><td>&quot;HIVE_METASTORE-START&quot;: [&quot;MYSQL_SERVER-START&quot;, &quot;NAMENODE-START&quot;]</td><td>Start MySQL and NameNode components before starting Hive Metastore</td></tr><tr><td>&quot;MAPREDUCE_SERVICE_CHECK-SERVICE_CHECK&quot;: [&quot;NODEMANAGER-START&quot;, &quot;RESOURCEMANAGER-START&quot;],</td><td>MapReduce service check needs ResourceManager and NodeManagers started</td></tr><tr>< [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="repositories">Repositories<a href="#repositories" class="hash-link" aria-label="Direct link to Repositories" title="Direct link to Repositories">​</a></h3>
+<p>Each stack-version can provide the location of package repositories to use, by providing a <em>repos/repoinfo.xml</em> (Ex: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/repos/repoinfo.xml" target="_blank" rel="noopener noreferrer">HDP-2.0.6</a>)
+The <em>repoinfo.xml</em> file contains repositories grouped by operating systems. Each OS specifies a list of repositories that are shown to the user when the stack-version is selected for install.</p>
+<p>These repositories are used in conjunction with the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metainfo.xml#L161" target="_blank" rel="noopener noreferrer"><em>packages</em> defined in a service&#x27;s metainfo.xml</a> to install appropriate bits on the system.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">repo [...]
+<p>baseurl- URL of the RPM repository where provided <em>repoid</em> can be found
 <strong>repoid</strong> - Repo ID to use that are hosted at _baseurl
-<strong>reponame</strong> - Display name for the repo being used.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="latest-builds">Latest Builds<a class="hash-link" href="#latest-builds" title="Direct link to heading">​</a></h4><p>Though repository base URL is capable of providing updates to a particular repo, it has to be defined at build time. This could be an issue later when the repository changes location, or update builds are hosted at a different site.</p><p>For such scenarios [...]
-What this means is that the scripts/hook.py file under the sub-folder is run either before or after the command.</p><p><strong>Examples:</strong></p><table><thead><tr><th>Sub-Folder</th><th>Purpose</th><th>Example</th></tr></thead><tbody><tr><td>before-START</td><td>Hook script called before START command is run on any component of the stack-version.</td><td><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/h [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<strong>reponame</strong> - Display name for the repo being used.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="latest-builds">Latest Builds<a href="#latest-builds" class="hash-link" aria-label="Direct link to Latest Builds" title="Direct link to Latest Builds">​</a></h4>
+<p>Though repository base URL is capable of providing updates to a particular repo, it has to be defined at build time. This could be an issue later when the repository changes location, or update builds are hosted at a different site.</p>
+<p>For such scenarios, a stack-version can provide the location of a JSON file which can provide details of other repo URLs to use.</p>
+<p>Example: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml" target="_blank" rel="noopener noreferrer">HDP-2.3 repoinfo.xml uses</a>, which then points to alternate repository URLs where latest builds can be found:</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="hooks">Hooks<a href="#hooks" class="hash-link" aria-label="Direct link to Hooks" title="Direct link to Hooks">​</a></h3>
+<p>A stack-version could have very basic and common instructions that need to be run before or after certain Ambari commands, across all services.</p>
+<p>Instead of duplicating this code across all service scripts and asking users to worry about them, Ambari provides the <em>Hooks</em> ability where common before and after code can be pulled away into the <em>hooks</em> folder. (Ex: <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks" target="_blank" rel="noopener noreferrer">HDP-2.0.6</a>)</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/hooks-f2edf8d59e0df1bbc1aece50a17e71a1.png" width="766" height="792" class="img_ev3q"></p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="command-sub-folders">Command Sub-Folders<a href="#command-sub-folders" class="hash-link" aria-label="Direct link to Command Sub-Folders" title="Direct link to Command Sub-Folders">​</a></h4>
+<p>The general naming pattern for hooks sub-folders is <code>&quot;&lt;before|after&gt;-&lt;ANY|&lt;CommandName&gt;&gt;&quot;</code>.
+What this means is that the scripts/hook.py file under the sub-folder is run either before or after the command.</p>
+<p><strong>Examples:</strong></p>
+<table><thead><tr><th>Sub-Folder</th><th>Purpose</th><th>Example</th></tr></thead><tbody><tr><td>before-START</td><td>Hook script called before START command is run on any component of the stack-version.</td><td><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/hook.py#L30" target="_blank" rel="noopener noreferrer">HDP-2.0.6</a><br>sets up Hadoop log and pid directories<br>creates Java Home symlink<br>Creates [...]
+<p>Based on the commands currently supported by Ambari, the following sub-folders can be created based on necessity</p>
+<table><thead><tr><th>Prefix</th><th>-</th><th>Command</th></tr></thead><tbody><tr><td>before</td><td>-</td><td>INSTALL UNINSTALL START RESTART STOP</td></tr><tr><td>after</td><td>-</td><td>EXECUTE ABORT UPGRADE  SERVICE_CHECK  <code>&lt;custom_command&gt;</code>-Custom commands specified by the user like the DECOMMISSION or REBALANCEHDFS commands specified by HDFS</td></tr></tbody></table>
+<p>The <em>scripts/hook.py</em> script should import <a href="https://github.com/apache/ambari/blob/trunk/ambari-common/src/main/python/resource_management/libraries/script/hook.py" target="_blank" rel="noopener noreferrer">resource_management.libraries.script.hook</a> module and extend the Hook class</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> resource_management</span [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="configurations">Configurations<a href="#configurations" class="hash-link" aria-label="Direct link to Configurations" title="Direct link to Configurations">​</a></h3>
+<p>Though most configurations are set at the service level, there can be configurations which apply across all services to indicate the state of the cluster installed with this stack.</p>
+<p>For example, things like <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml#L25" target="_blank" rel="noopener noreferrer">&quot;is security enabled?&quot;</a>, <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml#L46" target="_blank" rel="noopener noreferrer">&quot;what user runs smoke tests?&quot;</a> etc.</p>
+<p>Such configurations can be defined in the <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration" target="_blank" rel="noopener noreferrer">configuration folder</a> of the stack. They are available for access just like the service-level configs.</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="stack-advisor">Stack Advisor<a href="#stack-advisor" class="hash-link" aria-label="Direct link to Stack Advisor" title="Direct link to Stack Advisor">​</a></h4>
+<p>With each stack containing multiple complex services, it becomes necessary to dynamically determine how the services are laid out on the cluster, and for determining values of certain configurations.</p>
+<p>Ambari provides the <em>Stack Advisor</em> capability where stacks can write a Python script named <em>stack-advisor.py</em> in the <em>services/</em> folder. Example: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py" target="_blank" rel="noopener noreferrer">HDP-2.0.6</a>.</p>
+<p>Stack-advisor scripts automatically extend the parent stack-version&#x27;s stack-advisor scripts. This allows newer stack-versions to change behavior without effecting earlier behavior.</p>
+<p>Stack advisors provide information on 4 important aspects:</p>
+<ol>
+<li>Recommend layout of services on cluster</li>
+<li>Recommend service configurations</li>
+<li>Validate layout of services on cluster</li>
+<li>Validate service configurations</li>
+</ol>
+<p>By providing the stack-advisor.py file, one can control dynamically each of the above.</p>
+<p>The main interface for the stack-advisor scripts contains documentation on how each of the above are called, and what data is provided</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="toke [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="examples-3"><strong>Examples</strong><a href="#examples-3" class="hash-link" aria-label="Direct link to examples-3" title="Direct link to examples-3">​</a></h4>
+<ul>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/stack_advisor.py#L23" target="_blank" rel="noopener noreferrer">Stack Advisor interface</a></li>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/stack_advisor.py#L303" target="_blank" rel="noopener noreferrer">Default Stack Advisor implementation - for all stacks</a></li>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py#L28" target="_blank" rel="noopener noreferrer">HDP (2.0.6) Default Stack Advisor implementation</a></li>
+<li><a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py#L807" target="_blank" rel="noopener noreferrer">YARN container size calculated</a></li>
+<li>Recommended configurations -<a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py#L222" target="_blank" rel="noopener noreferrer">HDFS</a>,<a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py#L133" target="_blank" rel="noopener noreferrer">YARN</a>,<a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/ [...]
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py#L272" target="_blank" rel="noopener noreferrer">Delete HBase Bucket Cache configs on smaller machines</a></li>
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py#L184" target="_blank" rel="noopener noreferrer">Specify maximum value for Tez config</a></li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="properties">Properties<a href="#properties" class="hash-link" aria-label="Direct link to Properties" title="Direct link to Properties">​</a></h3>
+<p>Similar to stack configurations, most properties are defined at the service level, however there are global properties which can be defined at the stack-version level affecting across all services.</p>
+<p>Some examples are: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_tools.json#L2" target="_blank" rel="noopener noreferrer">stack-selector and conf-selector</a> specific names or what <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json#L5" target="_blank" rel="noopener noreferrer">stack versions certain stack features</a> are support [...]
+<p>Such properties can be defined in .json format in the <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties" target="_blank" rel="noopener noreferrer">properties folder</a> of the stack.</p>
+<p>More details about stack properties can be found on <a href="https://cwiki.apache.org/confluence/x/pgPiAw" target="_blank" rel="noopener noreferrer">Stack Properties section</a>.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="widgets-1">Widgets<a href="#widgets-1" class="hash-link" aria-label="Direct link to Widgets" title="Direct link to Widgets">​</a></h3>
+<p>At the stack-version level one can contribute heatmap entries to the main dashboard of the cluster.</p>
+<p>Generally these heatmaps would be ones which apply to all services - like host level heatmaps.</p>
+<p>Example: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.0.6/widgets.json" target="_blank" rel="noopener noreferrer">HDP-2.0.6 contributes host level heatmaps</a></p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="kerberos-1">Kerberos<a href="#kerberos-1" class="hash-link" aria-label="Direct link to Kerberos" title="Direct link to Kerberos">​</a></h3>
+<p>We have seen previously the Kerberos descriptor at the service level.</p>
+<p>One can be defined at the stack-version level also to describe identities across all services.</p>
+<p>Read more about the Kerberos support and the Kerberos Descriptor in the _ <a href="https://cwiki.apache.org/confluence/display/AMBARI/Automated+Kerberizaton" target="_blank" rel="noopener noreferrer">Automated Kerberization</a>_ page.</p>
+<p>Example: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.0.6/kerberos.json" target="_blank" rel="noopener noreferrer">Smoke tests user and SPNEGO user defined in HDP-2.0.6</a></p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stack-upgrades">Stack Upgrades<a href="#stack-upgrades" class="hash-link" aria-label="Direct link to Stack Upgrades" title="Direct link to Stack Upgrades">​</a></h3>
+<p>Ambari provides the ability to upgrade your cluster from a lower stack-version to a higher stack-version.</p>
+<p>Each stack-version can define <em>upgrade-packs</em>, which are XML files describing the upgrade process. These <em>upgrade-pack</em> XML files are placed in the stack-version&#x27;s <em>upgrades/</em> folder.</p>
+<p>Example: <a href="https://github.com/apache/ambari/tree/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades" target="_blank" rel="noopener noreferrer">HDP-2.3</a>, <a href="https://github.com/apache/ambari/tree/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.4/upgrades" target="_blank" rel="noopener noreferrer">HDP-2.4</a></p>
+<p>Each stack-version should have an upgrade-pack for the next stack-version a cluster can <strong>upgrade to</strong>.</p>
+<p>Ex: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml" target="_blank" rel="noopener noreferrer">Upgrade-pack from HDP-2.3 to HDP-2.4</a></p>
+<p>There are two types of upgrades:</p>
+<table><thead><tr><th>Upgrade Type</th><th>Pros</th><th>Cons</th></tr></thead><tbody><tr><td>Express Upgrade (EU)</td><td>Cluster unavailable - services are stopped during upgrade process</td><td>Much faster - clusters can be upgraded in a couple of hours</td></tr><tr><td>Rolling Upgrade (RU)</td><td>Minimal cluster downtime - services available throughout upgrade process</td><td>Takes time (sometimes days depending on cluster size) due to incremental upgrade approach</td></tr></tbody></table>
+<p>Each component which has to be upgraded by Ambari should specify the <strong>versionAdvertised</strong> flag in the metainfo.xml.</p>
+<p>This will tell Ambari to use the component&#x27;s version and perform upgrade. Not specifying this flag will result in Ambari not upgrading the component.</p>
+<p>Example: <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/metainfo.xml#L33" target="_blank" rel="noopener noreferrer">HDFS NameNode</a> (versionAdvertised=true), <a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/metainfo.xml#L33" target="_blank" rel="noopener noreferrer">AMS Metrics Collector</a> (versionAdvertised=false).</p>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="rolling-upgrades">Rolling Upgrades<a href="#rolling-upgrades" class="hash-link" aria-label="Direct link to Rolling Upgrades" title="Direct link to Rolling Upgrades">​</a></h4>
+<p>In Rolling Upgrade each service is upgraded with minimal downtime in mind. The general approach is to quickly upgrade the master components, followed by upgrading of workers in batches.</p>
+<p>The service will not be available when masters are restarting. However when master components are in High Availability (HA), the service continues to be available through restart of each master.</p>
+<p>You can read more about the Rolling Upgrade process via this <a href="http://hortonworks.com/blog/introducing-automated-rolling-upgrades-with-apache-ambari-2-0/" target="_blank" rel="noopener noreferrer">blog post</a> and <a href="https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.0/bk_upgrading_Ambari/content/_upgrading_HDP_perform_rolling_upgrade.html" target="_blank" rel="noopener noreferrer">documentation</a>.</p>
+<p>Examples</p>
+<ul>
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml" target="_blank" rel="noopener noreferrer">HDP-2.2.x to HDP-2.2.y</a></li>
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml" target="_blank" rel="noopener noreferrer">HDP-2.2 to HDP-2.3</a></li>
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.4.xml" target="_blank" rel="noopener noreferrer">HDP-2.2 to HDP-2.4</a></li>
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/upgrade-2.4.xml" target="_blank" rel="noopener noreferrer">HDP-2.3 to HDP-2.4</a></li>
+</ul>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="express-upgrades">Express Upgrades<a href="#express-upgrades" class="hash-link" aria-label="Direct link to Express Upgrades" title="Direct link to Express Upgrades">​</a></h4>
+<p>In Express Upgrade the goal is to upgrade entire cluster as fast as possible - even if it means cluster downtime. It is generally much faster than Rolling Upgrade.</p>
+<p>For each service the components are first stopped, upgraded and then started.</p>
+<p>You can read about Express Upgrade steps in this <a href="https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.0/bk_upgrading_Ambari/content/_upgrading_HDP_perform_express_upgrade.html" target="_blank" rel="noopener noreferrer">documentation</a>.</p>
+<p>Examples</p>
+<ul>
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml" target="_blank" rel="noopener noreferrer">HDP-2.1 to HDP-2.3</a></li>
+<li><a href="https://github.com/apache/ambari/blob/branch-2.2.1/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.4.xml" target="_blank" rel="noopener noreferrer">HDP-2.2 to HDP-2.4</a></li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration-support-in-ambari">Configuration support in Ambari<a href="#configuration-support-in-ambari" class="hash-link" aria-label="Direct link to Configuration support in Ambari" title="Direct link to Configuration support in Ambari">​</a></h2>
+<p><a href="https://cwiki.apache.org/confluence/display/AMBARI/Configuration+support+in+Ambari" target="_blank" rel="noopener noreferrer">Configuration support in Ambari</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/stack-and-services/how-to-define-stacks-and-services.md" target="_bl [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/index.html b/docs/2.7.5/ambari-design/stack-and-services/index.html
index b87a2f0..a510149 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/index.html
@@ -1,16 +1,18 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/index">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/index" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Stacks and Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" na [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Stacks and Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="d [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p><strong>Introduction</strong></p>
+<p>Ambari supports the concept of Stacks and associated Services in a Stack Definition. By leveraging the Stack Definition, Ambari has a consistent and defined interface to install, manage and monitor a set of Services and provides extensibility model for new Stacks + Services to be introduced.</p>
+<p>From Ambari 2.4, there is also support for the concept of Extensions and its associated custom Services in an Extension Definition.</p>
+<p>Terminology</p>
+<table><thead><tr><th>Term</th><th>Description</th></tr></thead><tbody><tr><td>Stack</td><td>Defines a set of Services and where to obtain the software packages for those Services. A Stack can have one or more versions, and each version can be active/inactive. For example, Stack = &quot;HDP-1.3.3&quot;.</td></tr><tr><td>Extension</td><td>Defines a set of custom Services which can be added to a stack version.  An Extension can have one or more versions.</td></tr><tr><td>Service</td><td>De [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/management-packs/index.html b/docs/2.7.5/ambari-design/stack-and-services/management-packs/index.html
index abe1997..f4130c4 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/management-packs/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/management-packs/index.html
@@ -1,16 +1,154 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/management-packs">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/management-packs" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Management Packs | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/management-packs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Management Packs | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/management-packs"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh=" [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="background"><strong>Background</strong><a href="#background" class="hash-link" aria-label="Direct link to background" title="Direct link to background">​</a></h2>
+<p>At present, stack definitions are bundled with Ambari core and are part of Apache Ambari releases. This enforces having to do an Ambari release with updated stack definitions whenever a new version of a stack is released. Also to add an &quot;add-on&quot; service (custom service) to the stack definition, one has to manually add the add-on service to the stack definition on an Ambari Server. There is no release vehicle that can be used to ship add-on services.</p>
+<p>Apache Ambari Management Packs addresses this issue by decoupling Ambari&#x27;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&#x27;t enforce an Apache Ambari release. Apache Ambari Management Packs will be released as separate release artifact [...]
+<p>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.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-jira"><strong>Apache JIRA</strong><a href="#apache-jira" class="hash-link" aria-label="Direct link to apache-jira" title="Direct link to apache-jira">​</a></h2>
+<p><a href="https://issues.apache.org/jira/browse/AMBARI-14854" target="_blank" rel="noopener noreferrer">AMBARI-14854</a></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="release-timelines"><strong>Release Timelines</strong><a href="#release-timelines" class="hash-link" aria-label="Direct link to release-timelines" title="Direct link to release-timelines">​</a></h2>
+<ul>
+<li>
+<p>Short Term Goals (Apache Ambari 2.4.0.0 release)</p>
+<ol>
+<li>
+<p>Provide a release vehicle for stack definitions (example<!-- -->:HDP<!-- --> management pack, IOP management pack).</p>
+</li>
+<li>
+<p>Provide a release vehicle for add-on/custom services (example: Microsoft-R management pack)</p>
+</li>
+<li>
+<p>Retrofit in existing stack processing infrastructure</p>
+</li>
+<li>
+<p>Command line to update stack definitions and service definitions</p>
+</li>
+</ol>
+</li>
+<li>
+<p>Long Term Goals (Ambari 2.4+)</p>
+<ol>
+<li>
+<p>Release HDP stacks as mpacks</p>
+</li>
+<li>
+<p>Build management pack processing infrastructure that will replace the stack processing infrastructure.</p>
+</li>
+<li>
+<p>Dynamic creation of stack definitions by processing management packs</p>
+</li>
+<li>
+<p>Provide a REST API adding/removing /upgrading managment packs.</p>
+</li>
+</ol>
+</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="management-pack-metadata-mpackjson"><strong>Management Pack Metadata (Mpack.json)</strong><a href="#management-pack-metadata-mpackjson" class="hash-link" aria-label="Direct link to management-pack-metadata-mpackjson" title="Direct link to management-pack-metadata-mpackjson">​</a></h2>
+<p>Management pack should contain following metadata information in mpack.json.</p>
+<ul>
+<li>
+<p><strong>Name</strong>: Unique management pack name</p>
+</li>
+<li>
+<p><strong>Version</strong>: Management pack version</p>
+</li>
+<li>
+<p><strong>Description</strong>: Friendly description of the management pack</p>
+</li>
+<li>
+<p><strong>Prerequisites</strong>:</p>
+<ul>
+<li>
+<p>Minimum Ambari Version on which the management pack is installable.</p>
+<ul>
+<li><strong>Example</strong>: To install stackXYZ-­ambari-­mpack­1.0.0.0 management pack, Ambari should be atleast on Apache Ambari 2.4.0.0 version.</li>
+</ul>
+</li>
+<li>
+<p>Minimum management pack version that should be installed before upgrading to this management pack.</p>
+<ul>
+<li><strong>Example</strong>: To upgrade to stackXYZ-­ambari­-mpack­-2.0.0.0 management pack, stackXYZ-­ambari-­mpack-­1.8.0.0 management pack or higher should be installed.</li>
+</ul>
+</li>
+<li>
+<p>Minimum stack version that should already be present in the stack definitions for this management pack to be applicable.</p>
+<ul>
+<li><strong>Example</strong>: To add a add-on service management pack myservice-­ambari­-mpack­-1.0.0.0 management pack stackXYZ-­2.1 stack definition should be present.</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<p><strong>Artifacts</strong>:</p>
+<ul>
+<li>
+<p>List of release artifacts (service definitions, stack definitions, stack-addon-service-definitions, view-definitions) bundled in the management pack.</p>
+</li>
+<li>
+<p>Metadata for each artifact like source directory, additional applicability for that artifact etc.</p>
+</li>
+<li>
+<p>Supported Artifact Types</p>
+<ul>
+<li>
+<p><strong>service­-definitions</strong>: Contains service definitions similar to common-services/serviceA/1.0.0</p>
+</li>
+<li>
+<p><strong>stack-­definitions</strong>: Contains stack definitions similar to stacks/stackXYZ/1.0</p>
+</li>
+<li>
+<p><strong>extension-definitions</strong>: Contains dynamic stack extensions (Refer:<a href="/docs/2.7.5/ambari-design/stack-and-services/extensions">Extensions</a>)</p>
+</li>
+<li>
+<p><strong>stack­-addon-service-­definitions</strong>: Defines add-on service applicability for stacks and how to merge the add-on service into the stack definition.</p>
+</li>
+<li>
+<p><strong>view­-definitions</strong> (Not supported in Apache Ambari 2.4.0.0)</p>
+</li>
+</ul>
+</li>
+<li>
+<p>A management pack can have more than one release artifacts.</p>
+<ul>
+<li><strong>Example</strong>: It should be possible to create a management pack that bundles together<!-- -->
+<ul>
+<li><strong>stack-definitions</strong>: stackXYZ­-1.0, stackXYZ-1.1, stackXYZ-2.0</li>
+<li><strong>service-definitions</strong>: HAWQ, HDFS, ZOOKEEPER</li>
+<li><strong>stack-addon-service-definitions</strong>: HAWQ/2.0.0 is applicable to stackXYZ-2.0, stackABC-1.0</li>
+<li><strong>view-definitions</strong>: Hive, Jobs, Slider (Apache Ambari 2.4.0.0)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="management-pack-structure"><strong>Management Pack Structure</strong><a href="#management-pack-structure" class="hash-link" aria-label="Direct link to management-pack-structure" title="Direct link to management-pack-structure">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stackxyz-management-pack-structure">StackXYZ Management Pack Structure<a href="#stackxyz-management-pack-structure" class="hash-link" aria-label="Direct link to StackXYZ Management Pack Structure" title="Direct link to StackXYZ Management Pack Structure">​</a></h3>
+<p><em>stackXYZ­-ambari­-mpack-­1.0.0.0</em></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">├── mpack.json</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"  [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stackxyz-management-pack-mpackjson">StackXYZ Management Pack Mpack.json<a href="#stackxyz-management-pack-mpackjson" class="hash-link" aria-label="Direct link to StackXYZ Management Pack Mpack.json" title="Direct link to StackXYZ Management Pack Mpack.json">​</a></h3>
+<p><em>stackXYZ-­ambari-­mpack­1.0.0.0/mpack.json</em></p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="add-on-service-management-pack-structure">Add­-On Service Management Pack Structure<a href="#add-on-service-management-pack-structure" class="hash-link" aria-label="Direct link to Add­-On Service Management Pack Structure" title="Direct link to Add­-On Service Management Pack Structure">​</a></h3>
+<p><em>myservice-­ambari­-mpack­-1.0.0.0</em></p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">├── common­-services</span><br></span><span class="token-line" style="color:#393A34"><span class="token p [...]
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="add-on-service-management-pack-mpackjson">Add­-On Service Management Pack Mpack.json<a href="#add-on-service-management-pack-mpackjson" class="hash-link" aria-label="Direct link to Add­-On Service Management Pack Mpack.json" title="Direct link to Add­-On Service Management Pack Mpack.json">​</a></h3>
+<p><em>myservice-­ambari-­mpack­-1.0.0.0/mpack.json</em></p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="installing-management-pack"><strong>Installing Management Pack</strong><a href="#installing-management-pack" class="hash-link" aria-label="Direct link to installing-management-pack" title="Direct link to installing-management-pack">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-­server install-­mpack ­­--mpack</span><span class="token operator" style="color:#39 [...]
+<p><strong>Note</strong>: Do not pass the &quot;--purge&quot; command line parameter when installing an add-on service management pack. The &quot;--purge&quot; flag is used to purge any existing stack definition (HDP is included in Ambari release) and should be included only when installing a Stack Management Pack.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="upgrading-management-pack"><strong>Upgrading Management Pack</strong><a href="#upgrading-management-pack" class="hash-link" aria-label="Direct link to upgrading-management-pack" title="Direct link to upgrading-management-pack">​</a></h2>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server upgrade-mpack </span><span class="token parameter variable" style="color:#36a [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/overview/index.html b/docs/2.7.5/ambari-design/stack-and-services/overview/index.html
index 378c70f..13ae5fa 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/overview/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/overview/index.html
@@ -1,16 +1,226 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/overview">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/overview" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Overview | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name= [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Overview | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/overview"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docs [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="background">Background<a href="#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background">​</a></h2>
+<p>The Stack definitions can be found in the source tree at <code>&lt;a href=&quot;https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks&quot;&gt;/ambari-server/src/main/resources/stacks&lt;/a&gt;</code>. After you install the Ambari Server, the Stack definitions can be found at <code>/var/lib/ambari-server/resources/stacks</code></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="structure">Structure<a href="#structure" class="hash-link" aria-label="Direct link to Structure" title="Direct link to Structure">​</a></h2>
+<p>The structure of a Stack definition is as follows:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">|_ stacks</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">   |_ [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="defining-a-service-and-components">Defining a Service and Components<a href="#defining-a-service-and-components" class="hash-link" aria-label="Direct link to Defining a Service and Components" title="Direct link to Defining a Service and Components">​</a></h2>
+<p>The <code>metainfo.xml</code> file in a Service describes the service, the components of the service and the management scripts to use for executing commands. A component of a service can be either a <strong>MASTER</strong>, <strong>SLAVE</strong> or <strong>CLIENT</strong> category. The</p>
+<p>For each Component you specify the &lt;commandScript&gt; to use when executing commands. There is a defined set of default commands the component must support.</p>
+<table><thead><tr><th>Component Category</th><th>Default Lifestyle Commands</th></tr></thead><tbody><tr><td>MASTER</td><td>install, start, stop, configure, status</td></tr><tr><td>SLAVE</td><td>install, start, stop, configure, status</td></tr><tr><td>CLIENT</td><td>install, configure, status</td></tr></tbody></table>
+<p>Ambari supports different commands scripts written in <strong>PYTHON</strong>. The type is used to know how to execute the command scripts. You can also create <strong>custom commands</strong> if there are other commands beyond the default lifecycle commands your component needs to support.</p>
+<p>For example, in the YARN Service describes the ResourceManager component as follows in <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml" target="_blank" rel="noopener noreferrer"><code>metainfo.xml</code></a>:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">comp [...]
+<p>The ResourceManager is a MASTER component, and the command script is <code>&lt;a href=&quot;https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/package/scripts/resourcemanager.py&quot;&gt;scripts/resourcemanager.py&lt;/a&gt;</code>, which can be found in the <code>services/YARN/package</code> directory. That command script is <strong>PYTHON</strong> and that script implements the default lifecycle commands as python methods. This [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="toke [...]
+<p>You can also see a custom command is defined <strong>DECOMMISSION</strong>, which means there is also a <strong>decommission</strong> method in that python command script:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> </span><span class="token  [...]
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="using-stack-inheritance">Using Stack Inheritance<a href="#using-stack-inheritance" class="hash-link" aria-label="Direct link to Using Stack Inheritance" title="Direct link to Using Stack Inheritance">​</a></h4>
+<p>Stacks can <em>extend</em> other Stacks in order to share command scripts and configurations. This reduces duplication of code across Stacks with the following:</p>
+<ul>
+<li>define repositories for the child Stack</li>
+<li>add new Services in the child Stack (not in the parent Stack)</li>
+<li>override command scripts of the parent Services</li>
+<li>override configurations of the parent Services</li>
+</ul>
+<p>For example, the <strong>HDP 2.1 Stack <em>extends</em> HDP 2.0.6 Stack</strong> so only the changes applicable to <strong>HDP 2.1 Stack</strong> are present in that Stack definition. This extension is defined in the <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.1/metainfo.xml" target="_blank" rel="noopener noreferrer">metainfo.xml</a> for HDP 2.1 Stack:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="example-implementing-a-custom-service">Example: Implementing a Custom Service<a href="#example-implementing-a-custom-service" class="hash-link" aria-label="Direct link to Example: Implementing a Custom Service" title="Direct link to Example: Implementing a Custom Service">​</a></h2>
+<p>In this example, we will create a custom service called &quot;SAMPLESRV&quot;, add it to an existing Stack definition. This service includes MASTER, SLAVE and CLIENT components.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="create-and-add-the-service">Create and Add the Service<a href="#create-and-add-the-service" class="hash-link" aria-label="Direct link to Create and Add the Service" title="Direct link to Create and Add the Service">​</a></h2>
+<ol>
+<li>On the Ambari Server, browse to the <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</code> directory. In this case, we will browse to the HDP 2.0 Stack definition.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">cd /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</span><br></span></code></pre><div class="b [...]
+<ol start="2">
+<li>Create a directory named <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/&lt;strong&gt;SAMPLESRV&lt;/strong&gt;</code> that will contain the service definition for <strong>SAMPLESRV</strong>.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mkdir /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/SAMPLESRV</span><br></span><span class=" [...]
+<ol start="3">
+<li>Browse to the newly created <code>SAMPLESRV</code> directory, create a <code>metainfo.xml</code> file that describes the new service. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ol start="4">
+<li>In the above, my service name is &quot; <strong>SAMPLESRV</strong>&quot;, and it contains:</li>
+</ol>
+<ul>
+<li>one <strong>MASTER</strong> component &quot; <strong>SAMPLESRV_MASTER</strong>&quot;</li>
+<li>one <strong>SLAVE</strong> component &quot; <strong>SAMPLESRV_SLAVE</strong>&quot;</li>
+<li>one <strong>CLIENT</strong> component &quot; <strong>SAMPLESRV_CLIENT</strong>&quot;</li>
+</ul>
+<ol start="5">
+<li>Next, let&#x27;s create that command script. Create a directory for the command script <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/servi</code> <code>ces/</code> <code>SAMPLESRV</code> <code>/</code> ** <code>package/scripts</code>** that we designated in the service metainfo.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mkdir -p /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/SAMPLESRV/package/scripts</span><br>< [...]
+<ol start="6">
+<li>Browse to the scripts directory and create the <code>.py</code> command script files. For example <code>master.py</code> file:</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<p>For example <code>slave</code> <code>.py</code> file:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<p>For example <code>sample_client</code> <code>.py</code> file:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<ol start="7">
+<li>Now, restart Ambari Server for this new service definition to be distributed to all the Agents in the cluster.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server restart</span><br></span></code></pre><div class="buttonGroup__atx"><button t [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="install-the-service-via-ambari-web-add-services">Install the Service (via Ambari Web &quot;Add Services&quot;)<a href="#install-the-service-via-ambari-web-add-services" class="hash-link" aria-label="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)" title="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)">​</a></h2>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<ol>
+<li>
+<p>In Ambari Web, browse to Services and click the <strong>Actions</strong> button in the Service navigation area on the left.</p>
+</li>
+<li>
+<p>The &quot;Add Services&quot; wizard launches. You will see an option to include &quot;My Sample Service&quot; (which is the <code>&lt;displayname&gt;&lt;/displayname&gt;</code> of the service as defined in the service <code>metainfo.xml</code> file).</p>
+</li>
+<li>
+<p>Select &quot;My Sample Service&quot; and click Next.</p>
+</li>
+<li>
+<p>Assign the &quot;Sample Srv Master&quot; and click Next.</p>
+</li>
+<li>
+<p>Select the hosts to install the &quot;Sample Srv Client&quot; and click Next.</p>
+</li>
+<li>
+<p>Once complete, the &quot;My Sample Service&quot; will be available Service navigation area.</p>
+</li>
+<li>
+<p>If you want to add the &quot;Sample Srv Client&quot; to any hosts, you can browse to Hosts and navigate to a specific host and click &quot;+ Add&quot;.</p>
+</li>
+</ol>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-implementing-a-custom-client-only-service">Example: Implementing a Custom Client-only Service<a href="#example-implementing-a-custom-client-only-service" class="hash-link" aria-label="Direct link to Example: Implementing a Custom Client-only Service" title="Direct link to Example: Implementing a Custom Client-only Service">​</a></h4>
+<p>In this example, we will create a custom service called &quot;TESTSRV&quot;, add it to an existing Stack definition and use the Ambari APIs to install/configure the service. This service is a CLIENT so it has two commands: install and configure.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="create-and-add-the-service-1">Create and Add the Service<a href="#create-and-add-the-service-1" class="hash-link" aria-label="Direct link to Create and Add the Service" title="Direct link to Create and Add the Service">​</a></h2>
+<ol>
+<li>On the Ambari Server, browse to the <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</code> directory. In this case, we will browse to the HDP 2.0 Stack definition.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">cd /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</span><br></span></code></pre><div class="b [...]
+<ol start="2">
+<li>Create a directory named <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/&lt;strong&gt;TESTSRV&lt;/strong&gt;</code> that will contain the service definition for <strong>TESTSRV</strong>.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mkdir /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/TESTSRV</span><br></span><span class="to [...]
+<ol start="3">
+<li>Browse to the newly created <code>TESTSRV</code> directory, create a <code>metainfo.xml</code> file that describes the new service. For example:</li>
+</ol>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token prolog" style="color:#999988;font-style:italic">&lt;?xml version=&quot;1.0&quot;?&gt;</span><span cl [...]
+<ol start="4">
+<li>
+<p>In the above, my service name is &quot; <strong>TESTSRV</strong>&quot;, and it contains one component &quot; <strong>TEST_CLIENT</strong>&quot; that is of component category &quot; <strong>CLIENT</strong>&quot;. That client is managed via the command script <code>scripts/test_client.py</code>. Next, let&#x27;s create that command script.</p>
+</li>
+<li>
+<p>Create a directory for the command script <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/servi</code> <code>ces/</code> <code>TESTSRV</code> <code>/</code> <strong><code>package/scripts</code></strong> that we designated in the service metainfo.</p>
+</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mkdir -p /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/TESTSRV/package/scripts</span><br></s [...]
+<ol start="6">
+<li>Browse to the scripts directory and create the <code>test_client.py</code> file. For example:</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<ol start="7">
+<li>Now, restart Ambari Server for this new service definition to be distributed to all the Agents in the cluster.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server restart</span><br></span></code></pre><div class="buttonGroup__atx"><button t [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="install-the-service-via-the-ambari-rest-api">Install the Service (via the Ambari REST API)<a href="#install-the-service-via-the-ambari-rest-api" class="hash-link" aria-label="Direct link to Install the Service (via the Ambari REST API)" title="Direct link to Install the Service (via the Ambari REST API)">​</a></h2>
+<ol>
+<li>Add the Service to the Cluster.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="2">
+<li>Add the Components to the Service. In this case, add TEST_CLIENT to TESTSRV.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="3">
+<li>Install the component on all target hosts. For example, to install on <code>c6402.ambari.apache.org</code> and <code>c6403.ambari.apache.org</code>, first create the host_component resource on the hosts using POST.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="4">
+<li>Now have Ambari install the components on all hosts. In this single command, you are instructing Ambari to install all components related to the service. This call the <code>install()</code> method in the command script on each host.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">PUT</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/clu [...]
+<ol start="5">
+<li>Alternatively, instead of installing all components at the same time, you can explicitly install each host component. In this example, we will explicitly install the TEST_CLIENT on <code>c6402.ambari.apache.org</code>:</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">PUT</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/clu [...]
+<ol start="6">
+<li>Use the following to configure the client on the host. This will end up calling the <code>configure()</code> method in the command script.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/cl [...]
+<ol start="7">
+<li>If you want to see which hosts the component is installed.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">GET</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/api/v1/clu [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="install-the-service-via-ambari-web-add-services-1">Install the Service (via Ambari Web &quot;Add Services&quot;)<a href="#install-the-service-via-ambari-web-add-services-1" class="hash-link" aria-label="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)" title="Direct link to Install the Service (via Ambari Web &quot;Add Services&quot;)">​</a></h2>
+<div class="theme-admonition theme-admonition-caution admonition_xJq3 alert alert--warning"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</ [...]
+<ol>
+<li>
+<p>In Ambari Web, browse to Services and click the <strong>Actions</strong> button in the Service navigation area on the left.</p>
+</li>
+<li>
+<p>The &quot;Add Services&quot; wizard launches. You will see an option to include &quot;My Test Service&quot; (which is the <code>&lt;displayname&gt;&lt;/displayname&gt;</code> of the service as defined in the service <code>metainfo.xml</code> file).</p>
+</li>
+<li>
+<p>Select &quot;My Test Service&quot; and click Next.</p>
+</li>
+<li>
+<p>Select the hosts to install the &quot;New Test Client&quot; and click Next.</p>
+</li>
+<li>
+<p>Once complete, the &quot;My Test Service&quot; will be available Service navigation area.</p>
+</li>
+<li>
+<p>If you want to add the &quot;New Test Client&quot; to any hosts, you can browse to Hosts and navigate to a specific host and click &quot;+ Add&quot;.</p>
+</li>
+</ol>
+<h4 class="anchor anchorWithStickyNavbar_LWe7" id="example-implementing-a-custom-client-only-service-with-configs">Example: Implementing a Custom Client-only Service (with Configs)<a href="#example-implementing-a-custom-client-only-service-with-configs" class="hash-link" aria-label="Direct link to Example: Implementing a Custom Client-only Service (with Configs)" title="Direct link to Example: Implementing a Custom Client-only Service (with Configs)">​</a></h4>
+<p>In this example, we will create a custom service called &quot;TESTCONFIGSRV&quot; and add it to an existing Stack definition. This service is a CLIENT so it has two commands: install and configure. And the service also includes a configuration type &quot;test-config&quot;.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="create-and-add-the-service-to-the-stack">Create and Add the Service to the Stack<a href="#create-and-add-the-service-to-the-stack" class="hash-link" aria-label="Direct link to Create and Add the Service to the Stack" title="Direct link to Create and Add the Service to the Stack">​</a></h2>
+<ol>
+<li>On the Ambari Server, browse to the <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</code> directory. In this case, we will browse to the HDP 2.0 Stack definition.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">cd /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services</span><br></span></code></pre><div class="b [...]
+<ol start="2">
+<li>Create a directory named <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/&lt;strong&gt;TESTCONFIGSRV&lt;/strong&gt;</code> that will contain the service definition for TESTCONFIGSRV.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mkdir /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/TESTCONFIGSRV</span><br></span><span cla [...]
+<ol start="3">
+<li>Browse to the newly created <code>TESTCONFIGSRV</code> directory, create a <code>metainfo.xml</code> file that describes the new service. For example:</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">2.0</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="disp [...]
+<ol start="4">
+<li>
+<p>In the above, my service name is &quot; <strong>TESTCONFIGSRV</strong>&quot;, and it contains one component &quot; <strong>TESTCONFIG_CLIENT</strong>&quot; that is of component category &quot; <strong>CLIENT</strong>&quot;. That client is managed via the command script <code>scripts/test_client.py</code>. Next, let&#x27;s create that command script.</p>
+</li>
+<li>
+<p>Create a directory for the command script <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/servi</code> <code>ces/</code> <code>TESTCONFIGSRV</code> <code>/</code> <strong><code>package/scripts</code></strong> that we designated in the service metainfo <code>&lt;commandscript&gt;&lt;/commandscript&gt;</code>.</p>
+</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mkdir -p /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/TESTCONFIGSRV/package/scripts</span>< [...]
+<ol start="6">
+<li>Browse to the scripts directory and create the <code>test_client.py</code> file. For example:</li>
+</ol>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> sys</span><br></span><s [...]
+<ol start="7">
+<li>Now let&#x27;s define a config type for this service. Create a directory for the configuration dictionary file <code>/var/lib/ambari-server/resources/stacks/HDP/2.0.6/servi</code> <code>ces/</code> <code>TESTCONFIGSRV</code> <code>/</code> <strong><code>configuration</code></strong>.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mkdir -p /var/lib/ambari-server/resources/stacks/HDP/2.0.6/services/TESTCONFIGSRV/configuration</span><br [...]
+<ol start="8">
+<li>Browse to the configuration directory and create the <code>test-config.xml</code> file. For example:</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">some.test.property</span><br></span><span class="token-line" style="color:#393A34"><span class="token pla [...]
+<ol start="9">
+<li>Now, restart Ambari Server for this new service definition to be distributed to all the Agents in the cluster.</li>
+</ol>
+<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ambari-server restart</span><br></span></code></pre><div class="buttonGroup__atx"><button t [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance/index.html b/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance/index.html
index 389a409..ae3e71e 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance/index.html
@@ -1,16 +1,53 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/stack-inheritance">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/stack-inheritance" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Stack Inheritance | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta da [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Stack Inheritance | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/stack-inheritance"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>Each stack version must provide a metainfo.xml descriptor file which can declare whether the stack inherits from another stack version:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
+<p>When a stack inherits from another stack version, how its defining files and directories are inherited follows a number of different patterns.</p>
+<p>The following files should not be redefined at the child stack version level:</p>
+<ul>
+<li>properties/stack_features.json</li>
+<li>properties/stack_tools.json</li>
+</ul>
+<p>Note: These files should only exist at the base stack level.</p>
+<p>The following files if defined in the current stack version replace the definitions from the parent stack version:</p>
+<ul>
+<li>kerberos.json</li>
+<li>widgets.json</li>
+</ul>
+<p>The following files if defined in the current stack version are merged with the parent stack version:</p>
+<ul>
+<li>
+<p>configuration/cluster-env.xml</p>
+</li>
+<li>
+<p>role_command_order.json</p>
+</li>
+</ul>
+<p>Note: All the services&#x27; role command orders will be merge with the stack&#x27;s role command order to provide a master list.</p>
+<p>All attributes of the current stack version&#x27;s metainfo.xml will replace those defined in the parent stack version.</p>
+<p>The following directories if defined in the current stack version replace those from the parent stack version:</p>
+<ul>
+<li>hooks</li>
+</ul>
+<p>This means the files included in those directories at the parent level will not be inherited. You will need to copy all the files you wish to keep from that directory structure.</p>
+<p>The following directories are not inherited:</p>
+<ul>
+<li>repos</li>
+<li>upgrades</li>
+</ul>
+<p>The repos/repoinfo.xml file should be defined in every stack version. The upgrades directory and its corresponding XML files should be defined in all stack versions that support upgrade.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="services-folder">Services Folder<a href="#services-folder" class="hash-link" aria-label="Direct link to Services Folder" title="Direct link to Services Folder">​</a></h2>
+<p>The services folder is a special case. There are two inheritance mechanisms at work here. First the stack_advisor.py will automatically import the parent stack version&#x27;s stack_advisor.py script but the rest of the inheritance behavior is up to the script&#x27;s author. There are several examples of <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py" target="_blank" rel="noopener noreferrer">stack_advisor. [...]
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token keyword" style="color:#00009f">class</span><span class="t [...]
+<p>Services defined within the services folder follow the rules for <a href="/docs/2.7.5/ambari-design/stack-and-services/custom-services#service-inheritance">service inheritance</a>. By default if a service does not declare an explicit inheritance (via the <strong>extends</strong> tag), the service will inherit from the service defined at the parent stack version.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><d [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/stack-properties/index.html b/docs/2.7.5/ambari-design/stack-and-services/stack-properties/index.html
index 2bbc2e4..071c425 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/stack-properties/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/stack-properties/index.html
@@ -1,16 +1,34 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/stack-properties">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/stack-properties" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Stack Properties | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/stack-properties"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Stack Properties | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/stack-properties"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh=" [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>Similar to stack configurations, most properties are defined at the service level, however there are global properties which can be defined at the stack-version level affecting across all services.</p>
+<p>Some examples are: <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_tools.json#L2" target="_blank" rel="noopener noreferrer">stack-selector and conf-selector</a> specific names or what <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json#L5" target="_blank" rel="noopener noreferrer">stack versions certain stack features</a> are support [...]
+<p>Such properties can be defined in .json format in the <a href="https://github.com/apache/ambari/tree/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties" target="_blank" rel="noopener noreferrer">properties folder</a> of the stack.</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/stacks-properties-3130770d4091a02de6005b047a03ac2c.png" width="216" height="188" class="img_ev3q"></p>
+<h1>Stack features</h1>
+<p>Stacks can support different features depending on their version, for example: upgrade support, NFS support, support for specific new components (such as Ranger, Phoenix )...</p>
+<p>Stack featurization was added as part of the HDP stack configurations on <a href="http://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml" target="_blank" rel="noopener noreferrer">HDP/2.0.6/configuration/cluster-env.xml</a>, introducing a new stack_features property which value is processed in the stack engine from an external property file.</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">&lt;!-- Define stack_features property in the base  [...]
+<p>Stack Features properties are defined in <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_features.json" target="_blank" rel="noopener noreferrer">stack_features.json</a> file under /HDP/2.0.6/properties. These features support is now available for access at service-level code to change certain service behaviors or configurations. This is an example of features described in stack_features.jon file:</p>
+<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token property" style="color:#36acaa">&quot;stack_features&quot;</span><span class="token operator" styl [...]
+<p>where min_version/max_version are optional constraints.</p>
+<p>Feature constants, matching features names, such has ROLLING_UPGRADE = &quot;rolling_upgrade&quot; has been added to a new StackFeature class in <a href="https://github.com/apache/ambari/blob/trunk/ambari-common/src/main/python/resource_management/libraries/functions/constants.py#L38" target="_blank" rel="noopener noreferrer">resource_management/libraries/functions/constants.py</a></p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="toke [...]
+<p>Additionally, corresponding helper functions has been introduced in <a href="https://github.com/apache/ambari/blob/trunk/ambari-common/src/main/python/resource_management/libraries/functions/stack_features.py" target="_blank" rel="noopener noreferrer">resource_management/libraries/functions/stack_fetaures.py</a> to parse the .json file content and called from service code to check if the stack supports the specific feature.</p>
+<p>This is an example where the new stack featurization design is used in service code:</p>
+<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> params</span><span class="t [...]
+<h1>Stack Tools</h1>
+<p>Similar to stack features, stack-selector and conf-selector tools are now stack-driven instead of hardcoding hdp-select and conf-select. They are defined in <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/properties/stack_tools.json" target="_blank" rel="noopener noreferrer">stack_tools.json</a> file under /HDP/2.0.6/properties</p>
+<p>And declared as part of the HDP stack configurations as a new property on <a href="https://github.com/apache/ambari/blob/trunk/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml" target="_blank" rel="noopener noreferrer">/HDP/2.0.6/configuration/cluster-env.xml</a></p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">&lt;!-- Define stack_tools property in the base sta [...]
+<p>Corresponding helper functions have been added in <a href="https://github.com/apache/ambari/blob/trunk/ambari-common/src/main/python/resource_management/libraries/functions/stack_tools.py" target="_blank" rel="noopener noreferrer">resource_management/libraries/functions/stack_tools.py</a>. These helper functions are used to remove hardcodings in resource_management library.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit- [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/version-functions-conf-select-and-stack-select/index.html b/docs/2.7.5/ambari-design/stack-and-services/version-functions-conf-select-and-stack-select/index.html
index c7ed3b2..f140a3d 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/version-functions-conf-select-and-stack-select/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/version-functions-conf-select-and-stack-select/index.html
@@ -1,16 +1,28 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/version-functions-conf-select-and-stack-select">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/version-functions-conf-select-and-stack-select" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Version functions: conf-select and stack-select | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/version-functions-conf-select-and-stack-select"><meta data-rh="true" name="docusaurus_locale" content="en"><meta dat [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Version functions: conf-select and stack-select | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/version-functions-conf-select-and-stack-select"><meta data-rh="true" property="og:locale" content="en"><meta data-rh [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>Especially during upgrade, it is important to be able to set the current stack and configuration versions. For non-custom services, these functions are implemented in the conf-select and stack-select functions. These can be imported in a service&#x27;s scripts with the following imports:</p>
+<div class="language-py codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-py codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> resource_management</span><span c [...]
+<p>Typically the select functions, which is used to set the stack and configuration versions, are called in the pre_upgrade_restart function during a rolling upgrade:</p>
+<div class="language-py codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-py codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> [...]
+<p>The select functions will set up symlinks for the current stack or configuration version. For the stack, this will set up the links from the stack root current directory to the particular stack version. For example:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/usr/hdp/current/hadoop-client -&gt; /usr/hdp/2.5.0.0/hadoop</span><br></span></code></pre><div class="bu [...]
+<p>For the configuration version, this will set up the links for all the configuration directories, as follows:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/etc/hadoop/conf -&gt; /usr/hdp/current/hadoop-client/conf</span><br></span><span class="token-line" styl [...]
+<p>The stack_select and conf_select functions can also be used to return the hadoop directories:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">hadoop_prefix = stack_select.get_hadoop_dir(&quot;home&quot;)</span><br></span><span class="token-line" s [...]
+<p>The conf_select api is as follows:</p>
+<div class="language-py codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-py codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> </span><span class="token function [...]
+<p>The stack_select api is as follows:</p>
+<div class="language-py codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-py codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> </span><span class="token function [...]
+<p>Unfortunately for custom services these functions are not available to set up their configuration or stack versions. A custom service could implement their own functions to set up the proper links.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/stack-and-services/version-functions-conf [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/stack-and-services/writing-metainfo/index.html b/docs/2.7.5/ambari-design/stack-and-services/writing-metainfo/index.html
index 9a0a5c6..fb0afac 100644
--- a/docs/2.7.5/ambari-design/stack-and-services/writing-metainfo/index.html
+++ b/docs/2.7.5/ambari-design/stack-and-services/writing-metainfo/index.html
@@ -1,16 +1,50 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/stack-and-services/writing-metainfo">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/stack-and-services/writing-metainfo" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Writing metainfo.xml | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/writing-metainfo"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta  [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Writing metainfo.xml | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/stack-and-services/writing-metainfo"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data- [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>metainfo.xml is a declarative definition of an Ambari managed service describing its content. Itis the most critical file for any service definition. This section describes various key sub-sections within a metainfo.xml file.</p>
+<p><em>Non-mandatory fields are described in italics.</em></p>
+<p>The top level fields to describe a service are as follows:</p>
+<table><thead><tr><th>Feild</th><th>What is it used for</th><th>Sample Values</th></tr></thead><tbody><tr><td>name</td><td>the name of the service. A name has to be unique among all the services that are included in the stack definition containing the service.</td><td>HDFS</td></tr><tr><td>displayName</td><td>the display name of the service</td><td>HDFS</td></tr><tr><td>version</td><td>the version of the service. name and version together uniquely identify a service. Usually, the version [...]
+<p><strong>service/components - A service contains several components. The fields associated with a component are</strong>:</p>
+<table><thead><tr><th>Feild</th><th>What is it used for</th><th>Sample Values</th></tr></thead><tbody><tr><td>name</td><td>name of the component</td><td>HDFS</td></tr><tr><td>displayName</td><td>display name of the component.</td><td>HDFS</td></tr><tr><td>category</td><td>type of the component - MASTER, SLAVE, and CLIENT</td><td>2.1.0.2.0</td></tr><tr><td>commandScript</td><td>application wide commands may also be defined. The command is executed on a component instance that is a client< [...]
+<p><strong>service/osSpecifics - OS specific package names (rpm or deb packages)</strong></p>
+<table><thead><tr><th>Feild</th><th>What is it used for</th><th>Sample Values</th></tr></thead><tbody><tr><td>osFamily</td><td>the os family for which the package is applicable</td><td>any =&gt; all<br>amazon2015,redhat6,debian7,ubuntu12,ubuntu14,ubuntu16</td></tr><tr><td>packages</td><td>list of packages that are needed to deploy the service</td><td><code>&lt;check out HDFS metainfo&gt;</code></td></tr><tr><td>package/name</td><td>name of the package (will be used by the yum/zypper/apt  [...]
+<p><strong>service/commandScript - the script that implements service check</strong></p>
+<table><thead><tr><th>Feild</th><th>What is it used for</th></tr></thead><tbody><tr><td>script</td><td>the relative path to the script</td></tr><tr><td>scriptType</td><td>the type of the script, currently only supported type is PYTHON</td></tr><tr><td>timeout</td><td>custom timeout for the command - this supersedes ambari default</td></tr></tbody></table>
+<p>sample values:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">comm [...]
+<p><strong>service/component/dependencies/dependency</strong></p>
+<table><thead><tr><th>Feild</th><th>What is it used for</th></tr></thead><tbody><tr><td>name</td><td>name of the component it depends on</td></tr><tr><td>scope</td><td>cluster / host. specifies whether the dependent component<br>should be present in the same cluster or the same host.</td></tr><tr><td>auto-deploy</td><td>custom timeout for the command - this supersedes ambari default</td></tr><tr><td>conditions</td><td>Conditions in which this dependency exists. For example, the presence  [...]
+<p>sample values:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">depe [...]
+<p><strong>service/component/commandScript - the script that implements components specific default commands (Similar to service/commandScript )</strong></p>
+<p><strong>service/component/logs - provides log search integration.</strong></p>
+<table><thead><tr><th>Feild</th><th>What is it used for</th></tr></thead><tbody><tr><td>logId</td><td>logid of the component</td></tr><tr><td>primary</td><td>primary log id or not.</td></tr></tbody></table>
+<p>sample values:</p>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">log< [...]
+<p><strong>service/component/customCommand - custom commands can be added to components.</strong></p>
+<ul>
+<li><strong>name</strong>: name of the custom command</li>
+<li><strong>commandScript</strong>: the details of the script that implements the custom command</li>
+<li>commandScript/script: the relative path to the script</li>
+<li>commandScript/scriptType: the type of the script, currently only supported type is PYTHON</li>
+<li>commandScript/timeout: custom timeout for the command - this supersedes ambari default</li>
+</ul>
+<p><strong>service/component/configFiles - list of config files to be available when client config is to be downloaded (used to configure service clients that are not managed by Ambari)</strong></p>
+<ul>
+<li><strong>type</strong>: the type of file to be generated, xml or env sh, yaml, etc</li>
+<li><strong>fileName</strong>: name of the generated file</li>
+<li><strong>dictionary</strong>: data dictionary that contains the config properties (relevant to how ambari manages config bags internally)</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="sample-metainfoxml">Sample metainfo.xml<a href="#sample-metainfoxml" class="hash-link" aria-label="Direct link to Sample metainfo.xml" title="Direct link to Sample metainfo.xml">​</a></h2>
+<div class="language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">meta [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/technology-stack/index.html b/docs/2.7.5/ambari-design/technology-stack/index.html
index ec95153..7b9bd25 100644
--- a/docs/2.7.5/ambari-design/technology-stack/index.html
+++ b/docs/2.7.5/ambari-design/technology-stack/index.html
@@ -1,16 +1,38 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/technology-stack">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/technology-stack" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Technology Stack | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/technology-stack"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="do [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Technology Stack | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/technology-stack"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsear [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="ambari-server">Ambari Server<a href="#ambari-server" class="hash-link" aria-label="Direct link to Ambari Server" title="Direct link to Ambari Server">​</a></h2>
+<ul>
+<li>Server code: Java 1.7 / 1.8</li>
+<li>Agent scripts: Python</li>
+<li>Database: Postgres, Oracle, MySQL</li>
+<li>ORM: EclipseLink</li>
+<li>Security: Spring Security with remote LDAP integration and local database</li>
+<li>REST server: Jersey (JAX-RS)</li>
+<li>Dependency Injection: Guice</li>
+<li>Unit Testing: JUnit</li>
+<li>Mocks: EasyMock</li>
+<li>Configuration management: Python</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="ambari-web">Ambari Web<a href="#ambari-web" class="hash-link" aria-label="Direct link to Ambari Web" title="Direct link to Ambari Web">​</a></h2>
+<ul>
+<li>Frontend code: JavaScript</li>
+<li>Client-side MVC framework: Ember.js / AngularJS</li>
+<li>Templating: Handlebars.js (integrated with Ember.js)</li>
+<li>DOM manipulation: jQuery</li>
+<li>Look and feel: Bootstrap 2</li>
+<li>CSS preprocessor: LESS</li>
+<li>Unit Testing: Mocha</li>
+<li>Mocks: Sinon.js</li>
+<li>Application assembler/tester: Brunch / Grunt / Gulp</li>
+</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/technology-stack.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3 [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/views/framework-services/index.html b/docs/2.7.5/ambari-design/views/framework-services/index.html
index 2dbd375..399986c 100644
--- a/docs/2.7.5/ambari-design/views/framework-services/index.html
+++ b/docs/2.7.5/ambari-design/views/framework-services/index.html
@@ -1,16 +1,51 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/views/framework-services">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/views/framework-services" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Framework Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/views/framework-services"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Framework Services | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/views/framework-services"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" nam [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>This section describes the framework services that are available for views.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="viewcontext">ViewContext<a href="#viewcontext" class="hash-link" aria-label="Direct link to ViewContext" title="Direct link to ViewContext">​</a></h2>
+<p>The view server-side resources have access to a <a href="https://github.com/apache/ambari/blob/trunk/ambari-views/src/main/java/org/apache/ambari/view/ViewContext.java" target="_blank" rel="noopener noreferrer">ViewContext</a> object. The view context provides information about the current authenticated user, the view definition, the instance configuration properties, instance data and the view controller.</p>
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/**</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="instance-data">Instance Data<a href="#instance-data" class="hash-link" aria-label="Direct link to Instance Data" title="Direct link to Instance Data">​</a></h2>
+<p>The view framework exposes a way to store key/value pair &quot;instance data&quot;. This data is scoped to a given view instance and user. Instance data is meant to be used for information such as &quot;user prefs&quot; or other lightweight information that supports the experience of your view application. You can access the instance data get and put methods from the <a href="https://github.com/apache/ambari/blob/trunk/ambari-views/src/main/java/org/apache/ambari/view/ViewContext.java [...]
+<p>Checkout the <strong>Favorite View</strong> for example usage of the instance data API.</p>
+<p><a href="https://github.com/apache/ambari/tree/trunk/ambari-views/examples/favorite-view" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/tree/trunk/ambari-views/examples/favorite-view</a></p>
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">/**</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="instance-configuration-properties">Instance Configuration Properties<a href="#instance-configuration-properties" class="hash-link" aria-label="Direct link to Instance Configuration Properties" title="Direct link to Instance Configuration Properties">​</a></h2>
+<p>The instance configuration properties (set when you created your view instance) are accessible from the view context:</p>
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">viewContext.getProperties();</span><br></span></code></pre><div class="buttonGroup__atx"><b [...]
+<p>Configuration properties also supports a set of pre-defined <strong>variables</strong> that will be replaced when you read the property from the view context. For example, if your view requires a configuration parameter &quot;hdfs.file.path&quot; and that path is going to be set based on the username, when you configure the view instance, set the configuration property like so:</p>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">&quot;hdfs.file.path&quot; : &quot;/this/is/some/path/${username}&quot;</span><br></span></code></pre><di [...]
+<p>When you get this property from the view context, the <code>${username}</code> variable will be replaced automatically.</p>
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">viewContext.getProperties().get(&quot;hdfs.file.path&quot;) returns &quot;/this/is/some/pat [...]
+<p>Instance parameters support the following pre-defined variables: <code>${username}</code>, <code>${viewName}</code> and <code>${instanceName}</code></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="events">Events<a href="#events" class="hash-link" aria-label="Direct link to Events" title="Direct link to Events">​</a></h2>
+<p>Events are an important component of the views framework. Events allow the view to interact with the framework on lifecycle changes (i.e. &quot;Framework Events&quot;) such as deploy, create and destroy. As well, once a user has collection of views available, eventing allows the views to communicate with other views (i.e. &quot;View Events&quot;).</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="framework-events">Framework Events<a href="#framework-events" class="hash-link" aria-label="Direct link to Framework Events" title="Direct link to Framework Events">​</a></h3>
+<p>To register to receive framework events, in the <code>view.xml</code>, specify a <code>&lt;view-class&gt;this.is.my.view-clazz&lt;/view-class&gt;</code> which is a class that implements the <a href="https://github.com/apache/ambari/blob/trunk/ambari-views/src/main/java/org/apache/ambari/view/View.java" target="_blank" rel="noopener noreferrer">View</a> interface.</p>
+<p><img decoding="async" loading="lazy" src="/assets/images/fmwk-events-0bcf04d6ba67e7b7990cd743d9f72cc3.jpg" title="Apache Ambari &amp;gt; Framework Services &amp;gt; fmwk-events.jpg" width="345" height="240" class="img_ev3q"></p>
+<table><thead><tr><th>Event</th><th>Description</th></tr></thead><tbody><tr><td>onDeploy()</td><td>Called when a view is deployed.</td></tr><tr><td>onCreate()</td><td>Called when a view instance is created.</td></tr><tr><td>onDestroy()</td><td>Called when a view instance is destroy.</td></tr></tbody></table>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="views-events">Views Events<a href="#views-events" class="hash-link" aria-label="Direct link to Views Events" title="Direct link to Views Events">​</a></h3>
+<p>Views can pass events between views. Obtain the <a href="https://github.com/apache/ambari/blob/trunk/ambari-views/src/main/java/org/apache/ambari/view/ViewController.java" target="_blank" rel="noopener noreferrer">ViewController</a> object that allows you to <strong>register listeners</strong> for view events and to <strong>fire events</strong> for other listeners. A view can register an event <a href="https://github.com/apache/ambari/blob/trunk/ambari-views/src/main/java/org/apache/a [...]
+<p><img decoding="async" loading="lazy" src="/assets/images/view-events-629e0ac413767d75fe29d4aa1a3c40ff.jpg" title="Apache Ambari &amp;gt; Framework Services &amp;gt; view-events.jpg" width="424" height="203" class="img_ev3q"></p>
+<ol>
+<li>Obtain the view controller and register a listener.</li>
+</ol>
+<div class="language-java codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-java codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">viewContext.getViewController().registerListener(...);</span><br></span></code></pre><div c [...]
+<ol start="2">
+<li>
+<p>Fire the event. <code>viewContext.getViewController().fireEvent(...);</code></p>
+</li>
+<li>
+<p>The framework will notify all registered listeners. The listener implementation can process the event as appropriate.  <code>listener.notify(...)</code></p>
+</li>
+</ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/vivostar/vivostar.github.io/tree/master/versioned_docs/version-2.7.5/ambari-design/views/framework-services.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6 [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/views/index.html b/docs/2.7.5/ambari-design/views/index.html
index 6b8a269..0af7efd 100644
--- a/docs/2.7.5/ambari-design/views/index.html
+++ b/docs/2.7.5/ambari-design/views/index.html
@@ -1,16 +1,14 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/views/index">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/views/index" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">Views | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/views/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" con [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">Views | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/views/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content= [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>This capability is currently under development. :::info</div><div class="admonitio [...]
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/2.7.5/ambari-design/views/view-api/index.html b/docs/2.7.5/ambari-design/views/view-api/index.html
index d459e66..d486698 100644
--- a/docs/2.7.5/ambari-design/views/view-api/index.html
+++ b/docs/2.7.5/ambari-design/views/view-api/index.html
@@ -1,16 +1,59 @@
 <!doctype html>
-<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-2.7.5 plugin-docs plugin-id-default docs-doc-id-ambari-design/views/view-api">
+<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-2.7.5 docs-doc-page docs-doc-id-ambari-design/views/view-api" data-has-hydrated="false">
 <head>
 <meta charset="UTF-8">
-<meta name="generator" content="Docusaurus v2.1.0">
-<title data-rh="true">View API | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/views/view-api"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_v [...]
-<link rel="preload" href="/assets/js/runtime~main.e54d35dc.js" as="script">
-<link rel="preload" href="/assets/js/main.22c8e858.js" as="script">
+<meta name="generator" content="Docusaurus v3.7.0">
+<title data-rh="true">View API | Apache Ambari</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/docs/2.7.5/ambari-design/views/view-api"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:languag [...]
+<script src="/assets/js/runtime~main.4bc18573.js" defer="defer"></script>
+<script src="/assets/js/main.c83d693e.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="theme.common.skipToMainContent"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7 [...]
-<script src="/assets/js/runtime~main.e54d35dc.js"></script>
-<script src="/assets/js/main.22c8e858.js"></script>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentEle [...]
+<p>This section describes basic usage of the View REST API. Browse <a href="https://github.com/apache/ambari/blob/trunk/ambari-views/docs/index.md" target="_blank" rel="noopener noreferrer">https://github.com/apache/ambari/blob/trunk/ambari-views/docs/index.md</a> for detailed usage information and examples.</p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-list-of-deployed-views">Get List of Deployed Views<a href="#get-list-of-deployed-views" class="hash-link" aria-label="Direct link to Get List of Deployed Views" title="Direct link to Get List of Deployed Views">​</a></h2>
+<ol>
+<li>Gets the list of all deployed views</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">GET /api/v1/views</span><br></span><span class="token-line" style="color:#393A34"><span class="token plai [...]
+<ol start="2">
+<li>Once you have a list of views, you can drill-into a view and see the available versions.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">GET /api/v1/views/FILES</span><br></span><span class="token-line" style="color:#393A34"><span class="toke [...]
+<ol start="3">
+<li>You can go a level deeper and see more information about that specific version for the view, such as the parameters and the archive name, and a list of all instances of the view for that specific view version.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">GET /api/v1/views/FILES/versions/0.1.0</span><br></span><span class="token-line" style="color:#393A34"><s [...]
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="creating-a-view-instance-files-view">Creating a View Instance: Files View<a href="#creating-a-view-instance-files-view" class="hash-link" aria-label="Direct link to Creating a View Instance: Files View" title="Direct link to Creating a View Instance: Files View">​</a></h2>
+<p>The following example shows creating an instance of the <a href="https://github.com/apache/ambari/tree/trunk/contrib/views/files" target="_blank" rel="noopener noreferrer">Files View</a>, name FILES, version 0.1.0 view called &quot;MyFiles&quot;.</p>
+<ol>
+<li>Create the view instance.</li>
+</ol>
+<div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">POST /api/v1/views/FILES/versions/0.1.0/instances/MyFiles</span><br></span><span class="token-line" style [...]
+<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 14 16"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path></svg></span>info</div><div class="admonitionContent_BuS1"><p>When creating your view instance, [...]
... 25667 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ambari.apache.org
For additional commands, e-mail: commits-help@ambari.apache.org