diff --git a/config/manifests/bases/watcher-operator.clusterserviceversion.yaml b/config/manifests/bases/watcher-operator.clusterserviceversion.yaml index fd9bb73e..32c3bfbd 100644 --- a/config/manifests/bases/watcher-operator.clusterserviceversion.yaml +++ b/config/manifests/bases/watcher-operator.clusterserviceversion.yaml @@ -12,6 +12,7 @@ metadata: features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" operatorframework.io/suggested-namespace: openstack-operators + operators.operatorframework.io/operator-type: non-standalone name: watcher-operator.v0.0.0 namespace: placeholder spec: @@ -56,7 +57,7 @@ spec: path: apiServiceTemplate.tls version: v1beta1 description: The Watcher Operator project - displayName: Watcher Operator (Technology Preview) + displayName: Watcher Operator icon: - base64data: iVBORw0KGgoAAAANSUhEUgAAAYAAAAEiCAYAAADwEwVaAAAACXBIWXMAABYlAAAWJQFJUiTwAAAck0lEQVR4nO3dfYwdV33G8WeCCbaJsr7WKo4a/AalEJXIm0JBFQE7ElQICDGoav8hsqNKFbQ0MRIqElIbG6RKICTstFLVSig2RqXtH7BJGoQaUHZDKgSNyLou6gsq2XVqFKOtrzei2WAST3X2nvGO79x7986dt3PmfD+SRbKzODuzu+eZ33mN4jgWACA8m/ieI0TdKDos6aCkA5KmBjyCM5IuSZqTtGD+dOJ4MfNZgMeoABCUbhQdkWT+7J7gvpdsGJhQmOvE8ULmMwCPEAAIQjeKZiSdlLSvxPtdSsJA0mwnji9lPgNwGAEQsG4UbZM00/cELrXtzdZ29xwf0tVTpjM2ZKgO4AUCICDdKEr6vE2jv3+DO093d8z62v/djSLT8N+fuVA98/xmTSAQBnAVAdBy9i0/6fcu8gacvN16EwbdKDJf76HMhfoRBnASAdBSJTb8gzxsulQ6cTw34Frj7L3PjlHlNIEwgDMIgBayA56zE850ycM0Zkc7cXzSladoG/+5kgd7q0IYoFEEQMvYAc+Har4rJ4LAs8a/n3ddbPAfAdAi3Sg6KumBBu+osSCoseqpw3wqDJhaisoQAC3R4GyXQZZsA3a8jgbMzm46WcM0z7qtpLqInBxvgd8IgBZoqNtnHCt2/v3Jqro1HAu+KiWhWtmzRHgIAM91o8jM63/Cg7s4VeabrL3vky3p8snrYds95MzgO/xEAHjMDnouetb1UWjmi+3uOeLoFM+6raS62qgKkBsB4LFuFM153hCupFYbL9jdNxeScYPUVhV77Armgy3s5y/LvA1VqgKMjQDwlN3V8kuhPwdkUBVgbASAhzzt+kH9HrZVwSzPHoMQAB5yaI8b+GEpNRuLdQW4igDwTDeKTH/4s6E/B0wkWVdwlO4hGNdlPgLXMciHSU3ZyvFZM4HAzqhCwKgAPOLRnH/4Y237DradCBMVgF8Oh/4AULrddhX5otlLyk4wQCCoADxB3z9qdIpxgjBQAfjjaOgPALVJxglO2l1W0VJUAB5g3j8aNm8rAnYkbRkqAD+wBQKaZLYbecLOHDrAd6I9qAA80I2iBU9PuUI7URG0BAHgONsH+0zozwFOIgg8RxeQ+5j6CVclXUMn7Sw1eIYKwHHdKFoM9NAT+Ifpo56hAnCYXapP4w9fmOmjCywo8wcB4Db2aoFvzGy1B2wQ0H3pOLqAHNaNoktM/4TnzEDxkUmO/0T1qAAcZbt/aPzhOzNQ/AzdQm4iANxF+Yw2SbqFWEjmELqAHGTflLqhPwe01rFOHLO3lQOoANzE4C/a7AGzup21A80jANxEAKDt9tEl1Dy6gBzDvv8I0L2dOOao0wZQAbiHt3+E5iGznQTf9foRAO5h9g9CdIgQqB9dQA6h+wfQqU4c8xJUEyoAt/CDj9AdYguJ+lABOISdP4Gr7uScgeoRAI7g4BfgGiuS9nTi+BKPpTp0AbmDshdYZ/bBOs7zqBYVgCPo/gEGoiuoQlQADuDgF2Ao9gyqEAHgBhZ/AYPtZ7uI6tAF5AAOfgFGmu/EMSFQASqAhnHwC7Ch/ewcWg0CoHnM/gE2doRnVD66gBrEwS/A2JY6cUwVUDIqgGYx+AuMZ7ddLIkSEQDNIgCA8fH7UjK6gBrCzp9Abmc6cUwVUCIqgObwNgPks8+Om6EkBEBzmP0D5Md6gBIRAA2w3T/7grtxoDgCoEQEQDPo/gEmQwCUiEHgBrDzJzC5ThxHPL5yUAHUzM5lpvEHJsTmcOUhAOrH4C9QDAFQEgKgfvT/A8UQACUhAGpE9w9QChaDlYQAqBc7GgLFTbEvUDkIgHrR/QOUg26gEhAANeHgF6BUVAAlIADqw9s/UB4qgBKwEKwmnPsLlG5vJ44XeayTowKoQTeKDtP4A6WjG6ggAqAedP8A5aMbqCC6gCrGub9AZTggpiAqgOrx9g9Ugy3VCyIAqkcAABVhY7hiCIAK2e6fu1t7g0DzCIACCIBq8fYPVIsAKIAAqBZbPwPVYhC4AAKgIvbc3/2tvDnAHWwMVwABUB26f4B60A00IQKgOnT/APWgApgQAVAB2/3DHGWgHlQAEyIAqkH3D1Cf3falCzkRABX4qfSx1t0U4Da6gSZAAJQsiqKZX5He1KqbAtxHN9AECIDyce4vUD8qgAmwG2iJot7WD4sX2fsfqF0njiOeej5UAOXi3F+gIWwMlx8BUC66f4DmEAA5EQAliXrL0dfm/v9YOt+GewI8wzhATgRAea6+/X9N2tqC+wF8QwWQE4PAJYj6jn3cJWnB5xsC/HV7J4759RsTFUA5rtn355ykb0oXPL4fwFd0A+VAAJQjM/j7GWmHp/cC+IxuoBwIgIKi3tSz3f1/C1UA0AgCIAcCoLih2z7/kbTjF9JLmQsAqrLbnsWNMRAABdjB30PD/oYVSX8gXclcAFAlqoAxEQDFDH37TzwqbX1KWs5cAFAVAmBMBEAxmcHfQe6Rpi/1CgIA1WMm0JhYBzAhO/j7xLj/79skzWc+CqAKbAw3HiqAyeU68/espPul1cwFAKVjY7jxbPLhi6yLPVYufbRc+odoW1Jarkqbd0nvOJfz6zotbXmPdPEuaXvmIoAymd/dOZ7oaEEEgJ0WlvQLJo36jG3Ut+U9wP0X0krexj9xSNr+iLR8hzSduQigLIwDjKFVAWDLvuQtPmng92c+saAHC07tNIPCT0oXd1IJAFWhC2gMXg4C266aGfsnafQzq3GrMmNX+hZhTo0hBIBKsTHcBryoAOyb/YFUg9/YqVvPSxfOlbDPj5kT+m5p+zPSyjZOEQOqMMPGvKM5GQDd3uEqB21jX3oXThFz0stl/V0mBO6Wph6XVq+XtmQ+AUARpv04yRMczpkA6EbRQdvoO32u7mPSLZkPFmCmh75X2kIIAKVjHGADjY4B+NLop+1VNUt6d/W2jWBMAChXpxPHl3img9W+EMwM4Haj6Hg3isw35Rt2MzUvGv8XpG5V+zmcs2MCz0kXMxcBTIoqYITaAqAbRYe7UWQWZjzbWxTr38DnBenFzAdLtEIIAGUjAEaoPABsw78o6SHXBnTzeqLEAeBhkhBgB1GgFCwIG6GyAOhr+Gubo98GJgQ+JE0/SiUAFOX1S2fVSg8AM7Db1ob/R9JNmQ9WyGwb8WecKAYUwsZww5UWAHZwd84O7Lbyjf/ZBqZp/qW02ewi+suKxx+AFiMAhiglALpRdMSuuKPcqoDdRXQrh8oAE2EcYIhCAWB22bRv/V/ycVaPT8yCsdulKWYIAblRAQwxcQDY7RoWeeuvz0pv3+rtX2WGEJDHlN1AEn0mCgAzw0fSM6G99b9vbSlA8+6TphkXAHKhChggdwB0o+ioneETnE0OzchJxgXOUw0A4yAABsgVAN0oMjvrPZC5EIg7Hds91YwL3MF6AWAcDAQPMPZmcGb/HruFQ7AuS6s3O7pj5z3S6hel+NXS1sxFAGJjuKyxKgDb5x9042+Y7Zp3ZT7qBtMl9JvSVmYJAUPRDdRnwwCwq+iC7PMfZL+0OuDDTjhnZwmdYL0AMAjdQH1GBoCdOjWbuRCwezwYdD0mTZm5uSwcA9b9b+/cEaSMHAOwi7yY59+nqkNhymbm6H5OWv6oNO3BlwtUrhPHEU953dAKwG7vQOM/wIcc7gZKW7FrBj5ENQCseWsUfZAnsW5gANiun6OZC1jzJ9L/+fQknrLbSDA2gNDdJv1O6M8gbWAA2MafvX2GuEWavmPwJWetpMYGWDyGUP2MgeBrZALAvv0fynwmrvHH0nM+PpGzvbegaXPOAFtJIDQvSr/KN31dJgDo+hnPe6Wdrq4JGIc5Z8CsG+DoSYTkFem1UW8jy+CpPwB4+8/nzx3ZHG5S5+zRkwwSIzAsCLP6K4DDmc/AUO+Xdvg2FjCIGSR+vR0kplsIASAALAKgoM97XgWkmUFi0y30zRbdEzAAAWBdDQB7wEsrz/Kt0q3Sjns8WRcwDtMt9FFph+kW+neCAC1zrnc7UxEHxKxJVwC8/U/oC1LUtjmzplvondKOQ9KLjA+gLc6t30fwVYD6AoAHMqHXSJtPt3Q2zaPSVjM+YKaNXm5RpYPwvCB1UzcdfHunJADM4e69jSQxKXMwy10tHkA100bfJG0xA8UEAXz0X9LPU1928AGgVAXAvNgS/I10XZuXTyeriQkC+OgHa0d6XLWbcYD1ACANS2C6gh4NYGFVOgiYMQRf/L20o+9LDf7FNwmA4JOwLG+Rph8IZNB0xc4YMr9FJgioCOAq87N5Nvu1Bf/iSwBU4H5pqs3jAf2SqaN0DcFV314bA84IPgDWDoTpRtEiawDKZRrB90pbBrx1tJ4ZBzkirXxcuv56Rw/RR1j2240QB+jEAR8Un1QANP4lMw3f30rLIe6pnR4juF9aZR0BmmQWNA5p/PVT6T+6URTsGqhBu4GiJObcgCeli6EerGBa/dPSFrOOwAQBK4vRhE9nB3+vsq/+D3Wj6FI3io7aKfHBIAAqtlPa/qB0sdU3OQYTBO+0W0w87ulZCvCPeel4asRXfXatt3aNeU97QNKiDYIgxkUJgBrcJW0/RQisMb+MvyftNDOHGDBG1T424u3f+J50Q9+HkiB4thtFJ9seBARATQiBa52z4wQ323ECuodQNvOCMazvP/EdqZP54LpDNgha2zWUzAKKM1dQCbOnjtlWgaebZU5Y+5S0/LvSa5k9hCKeky7uk7aP81eM+VZmhrSOmz+dFs0aIgAaYN54T9PAjWS22P6Y9MKtG5TwQL9fSC+9Wdo87tSzp6Wl148/E9L8tUc6cXwyc8VDdAE14IS05RPSS8HdeA7JoHEyVtC3kyMwkBlT+u0cjb96ewRtynxwuCk7a2ihG0XeLySjAmjQo9LFQ2OWqZBu603pu/Ae6Ua6iNBv0sWXpto8MfnP08O2IljMXPFAUgHM89NUPwaG8zlrt5wwA8f32OmkzCKCCq68Xyj2MnG3+SvMQHHmigeSCmDOrpZGA6gEivmApD+Unn+rNEVlEB4z4Gteps4VuPOS3sLO2GpgLnPFUUkF4M0X3Ebmh/dMwCuGi3qsFwI3UxmEx7w8vbtg42/8RFrKfDA/c6jWE90oOu7LtNEkALzsv2oTs2LYbBuxK/QHUdBjdqFZEgZ/J51nALl9zEwfc161qZzL2Gjqv8udEHO/7RZyfpA4uemFzBXUzoTAD6TV23j0pXis1zV0yx6pY/o3Pyt1fyydb8GtBc2cPfHm3uFLW8t6DgNWBBe1O6kGXP5erY0BqHcu8CU7xQkN+6X04qekiLUC1ZjqneFsuo3Ov1/aeuPo1aBwhFktbrZ2qGKLdfPz8Ejmo6UxYwOHO3Hs3It2OgBm7Yg2HPFVafk+aZrvR7V29WZArH5QWn6HdAOB4BbT8JsdPUdt6laUeSl4ttq7dnIBWToAjkj6UuYz0Kh/k5bvkqbZUL8+6UC4Tbr+ZlYjN8J09Xy+ojf+QWqaj33KBoET20mkA2BP9SGISZgDVe6WpkI8XcwFSZfRu6SlO6VNu6XtTDetxnlp+a+lG07nXM1bhpxbQhThTJfQ1QBQLwQW7FQmOIiN5NxhBupnpNXfki6+XXr5ddJNhMJkTKP/ZelVX5c6RadzFlFjAMh2CZkQmM1cqVF/ANAN5LinpOV76BJy0i4bDKZS+A3putfRfTSQmZb7fenn/yhNPyJtceVnueYASBzrxHFjq4j7A4BuIA/QJeSX22w30vukC2+ULr9BuhJSxWAWWZkN174nbZ+XtjT5lj9KQwGgJscFrgkA9UKAbSE8YXbJPMbUXa8l4fA2qXuz9IKpHLZLV7ZKm32rHkxDf1G67ofSle9Ku8/Z/Zt80WAAyI4LHKg7BAYFgDkh/6HMZ8JJZpbQR6VpV9+qUNxtqQU6SVCYf75R2mTGH9L/gbIri+elCy/arctfkTY9Yf97z0s3Pm2ny1Y5PbNODQeAbAgcrHNn0UwAiEVh3jELxz4nXccAMTA5BwJAdnD4QF0zhIbtf+H08mVc69XS1s9Km5+UltlLCJjM9FpR1Tjz4j3XjaKZOr6QYRUAg8GeohoAJuPYwRy1VAIDKwDbB3UqcwHOoxoA8nNwA8ZaKoGBAWB5ecINet4iTZtXhwd6bxIARphx8/yIykNgaABQBbTD/dLUT6SVO0J/EMAIZt+n4VcbVWkIDBwDSNhTbRaZEdQOZhXxJ5gyCmQsSl3Hd4GtZExgaAWgXhVwiRlB7XGHNP0v0ot0CwHrdvXWVLi+Bbh5CT9Z9lGTIwPAMgFQxnmZcIAZJE66he6SXuR7gtB9xJ8jQ/fZ7qDSQmDDALBVwJHMBXhtmzR1Str6z9IFxgcQsvvKPQ+4avvK7JUZ68btlqXzmQvw3q3Sjkd6p49dYNooQnOHfRny7LYPdaOolFmaIweB0+zisAUGhNvNHEP5p2w3jUCYCvhWf7fs/nDR8wTGDgBxXkAwLkurfyVdPi5NEQRoq4oPgq+D+fWcKbJ5XK4AENtFB4UgQJt5/vafONOJ44nXCEwy+HFYTCMMgtlW2MwY+k9p1Uwdpe8PbWFmwLWg8Tf2daNo4kHh3BWAODMgWFQEaAPzIvOMtOLh4O8od3bieG7E9YEmCgD1QuCkGY3OXEDrJUHwkDTFqmL45kF7iFLLvnHmnWxP3hPFigSAWYwwZ+elIlDflC58RtpBEMAHpuvHrH9p6Tfr4U4cH8x8dISJA0C9EJixIUD3cOCelp77rLSzLccDon3Mls+PS6stP4w/V1dQoQAQ4wHoc15a/oL02tPt/iWDZ6bsZoi3tK/rp99SJ473ZD46ROEl0J04NmMBJzIXECTzC3ZC2vK8nTnE6mI0zTT+T0oXA2j8jd15VgkXrgASrA/AMI9Lz/0F3UNoQNL475S2B/T8x14gVmYAMCiMkS5JKw9KVx6SOkwjRdUCbfwTpzpxfDjz0T6lBYDYLwg5mKrgK9LOx3hoqEDgjX9i70ZVQKkBIGYGIacXpO4j0itf5KQylMTM9vkn6aXXSJsDf6YbVgGlB4B6IWDmon4jcwEYwcwg+rL0KrqIMKl7pNUTzEBLG1kFVBIAYnooCjLrCk5L049IWwgDbMR0N5yWlu8IY6ZPHiOrgMoCQIQASkIYYBSzrfNX2re3T5mGVgGVHoXGGgGU4W3STlPWP9vr233OlPn8pmOqt5//8iN+nupVp2YqgAQbx6EKP5bOf03a+nWpwwByWMwiw49L17d8W4eyrHTieOBB8rUEgAgBVOx56cK3pVf9gzTNgrP2MtXfMekyb/y5DTw+srYAECGAmpjtqv9VWjbjBvPSFqoD/9HwFzZwp9BaA0CEABpg1hp8X/r5V+x2FAwk+8G09EeklXulKzdKndCfRwk6/ecF1B4AIgTQMNNdNCe9/Jh0y1lJVAhuMQu5Pi1deH87jmx0yb12Ys5VjQSAmCIKhyQVwvekG74jdc7yzamd2TX2I1L3Puk6unkqk+kGaiwARAjAYWaG0RPSy9+VdlMlVCNp9H9feiWQrZqblpkN1GgAiBCAJ8zA8pJ00YTCj6SbFqQtVAr5faD35/z7pa306zfimhPDGg8AsYEcPGbGE/5HuvxD6YqpFkylQDD0TNlVuu+Slu6UNr1x7bwgNOxYJ46vHhjjRACIEEDLmHGFZemFH0ibLkqbvmUHNNu6RmGX/fM+6cLbpcu/Jt3AG76T5jtxfCD5wpwJAHGoDALyE2nJ3K0JiBekl5+XbnzaNphnHZ2qmjTyU/atfq903RukK6+Xdmc+Ga66ZhzAqQDQegjMcrwksF5JmH9+RdpkxiDSj+VlafO3SpguuVda/XXpZ6l/X2vczT+/TrqJLRda5ermcM4FQIK1AgBQiasDwZXuBlqE3cP6Xr7/AFCqmeQvczYAtL6d9J2s3geA0lwdA3A6ANQLgTmbWGcyFwEAee1JPt/5AFAvBMyAhZm6dCpzEQCQh18BoF4IXLLjAp/MXAQA5OZNACQ6cXxc0u2MCwBAMd4FgHohsGDLmPnMRQDAWLwMAK13CZlxgWOZiwCADXkbAAm7sRFTRQEgJ+8DQOtTRU2X0MOZiwCAgVoRAFrvEjpoZwlRDQDABloTAAk7S+gAC8cAYLTWBYDsLKFOHJvVwycyFwEgbFdPBGtlACQ6cXzEDhAvZS4CQOBaHQC6di8hqgEAkBaTZ9D6AND6ADHVAACEFgAJqgEAWA8AZ08Eq1o3isxMIXPeAOeZAghGJ46j5F6DqgDSqAYABOia/dOCDQBdOzZwO+sGAARgMX2LQQdAIrVu4BiriAG02EL61giAFLux3Ax7CgFoqbn0bQU7CLyRbhSZfYWOM0gMoCVWOnG8LX0rVABDdOJ41lYDnDcAoA3m+u+BABjBDhKbbqG9nD4GwHOZAKALKAfWDgDw2N5OHDMLaFJm7UAnjvcwWwiAZ5b6G38RAJOx3UImCE75+PUDCM5s5iMEwOTs+MBhu4iM8QEALjs56GtjDKAkjA8AcNQZu9A1gwqgJKnxgXvZchqAQ44P+1KoACrQjSKz2OKI/TPVuhsE4AszWWWP6bIe9PVSAVQgtX6AGUMAmjQ7rPEXFUA9ulFkgsAEwqEQ7heAMzJz/9OoAGpgvgF2xtBepo4CqMmpUY2/qACaQUUAoAYj3/5FBdAMKgIAFdvw7V9UAG6gIgBQsg3f/kUF4AYqAgAlOjFO4y8qADdREQCY0Mh5//2oABzUVxGcYB0BgDEdGbfxFxWAH1hZDGAM8504PpDnQREAHrFBcNB2D7HpHICE6SWYGbfvP0EAeKobRaaLyPzZH/qzAKAP23PMcyEAPGe3oT7MgDEQrFN2zDA3AqAl7MyhIzYMGCcAwnBG0oE8A79pBEDLME4ABGOifv80AqDFbPeQqQruDv1ZAC10pzmIqshtEQABoHsIaJ17O3E88JzfPAiAwNjZQyYM9oX+LABPfbITx0OPecyDAAhUN4pmbBAcpCoAvDHxjJ9BCIDApQaNqQoAt5Xa+IsAQJqtCg4zVgA4p/TGXwQAhrFjBQeZQQQ0rrQ+/34EAEayM4iSLiLWFQD1KmW2zzAEAMZGFxFQG7PI62DRef4bIQAwkW4UHbSVAXsQAeUy2zsc7sTxQtXPlQBAIalZRIwXAMU9bBv/ifb2yYsAQGlSYcA21UB+lQ32DkMAoBKpwePDrC8ARqqty6cfAYDKpcLgIJUBcI1jnTg+2tQjIQBQK8YMgDWNvfWnEQBoTCoMDrAnEQJhpncerbuvfxgCAM6wU0uTMGDRGdrmlFlQWdcMn3EQAHCSXXR2gHEDtMC8bfgb7e4ZhACA82xX0YFUdxHVAXwwb7t7Kl3NWwQBAO+kqoMDDCTDQc43/AkCAN6zZx8n1QFrDtAU08d/0oeGP0EAoFVS3UUHCATUwMzqMbt1Hu/E8aJvD5wAQKsRCKiImcdvpnLOujSrJy8CAEGxgZAeQ2CGEca1ZBp8X9/2ByEAELy+QeUZZhkhZcU2+l717Y+LAAD6pLqNZlL/yyrlcCRv+nOdOJ5t810TAMAY7IZ2M4RCa82nGn3nFmxVhQAAJmRDYU8qEPYwyOwNM4g7F8Jb/igEAFAyuy4hHQ57GFdolOnHX0g1+K3ry58UAQDUxA4270lVC3voSipdurE3/7vQlhk7VSAAAAfYqkG2Ykimqm6jS2koM1C7aBv5xVRj7+2c/CYQAIAHUgGRBEMSEmppF5Ppo79kG/dF+8+mkb8U0iBt1QgAoEVsN9M2e0dJN5OG/LtqCI+kIU9bSH0sadhF414/AgAAQiTp/wGp07dbIvUIVgAAAABJRU5ErkJggg== mediatype: image/png diff --git a/docs/install_guide.adoc b/docs/install_guide.adoc index 20052255..d07693ea 100644 --- a/docs/install_guide.adoc +++ b/docs/install_guide.adoc @@ -1,317 +1,31 @@ = User Installation Guide -== Getting Started - -Before installing the Watcher operator you first need a functional -OpenShift installation with the required Openstack operators, -including the Telemetry operator. The following links point -to documents detailing how to create this required starting environment: - -* https://github.com/openstack-k8s-operators/openstack-operator[Openstack Operator] -* https://github.com/openstack-k8s-operators/telemetry-operator[Telemetry Operator] -* https://kubernetes.io/docs/concepts/extend-kubernetes/operator/[Kubernetes operators] -* https://prometheus.io/[Prometheus metrics] - -A CRC (https://crc.dev/docs/introducing/[Code Ready Containers]) installation is -adequade for a developer environment. - -To verify that the environment set up is ready, do the following: - -. Log in to the Kubernetes/Openshift environment: -+ -[,console] ----- -$ oc login -u -p https://api.crc.testing:6443 --insecure-skip-tls-verify=true ----- -+ -. Access the Openstack client and verify the service endpoints are available: -+ -[,console] ----- -$ oc rsh openstackclient openstack endpoint list -c 'ID' -c 'Service Name' -c 'Enabled' -+----------------------------------+--------------+---------+ -| ID | Service Name | Enabled | -+----------------------------------+--------------+---------+ -| 0bada656064a4d409bc5fed610654edd | neutron | True | -| 17453066f8dc40bfa0f8584007cffc9a | cinderv3 | True | -| 22768bf3e9a34fefa57b96c20d405cfe | keystone | True | -| 54e3d48cdda84263b7f1c65c924f3e3a | glance | True | -| 74345a18262740eb952d2b6b7220ceeb | keystone | True | -| 789a2d6048174b849a7c7243421675b4 | placement | True | -| 9b7d8f26834343a59108a4225e0e574a | nova | True | -| a836d134394846ff88f2f3dd8d96de34 | nova | True | -| af1bf23e62c148d3b7f6c47f8f071739 | placement | True | -| ce0489dfeff64afb859338e480397f90 | glance | True | -| db69cc22117344b796f97e8dd3dc67e5 | neutron | True | -| fa48dc132b524915b4d1ca963c50a653 | cinderv3 | True | -+----------------------------------+--------------+---------+ ----- -+ -. Verify that the Telemetry operator with Prometheus metric storage is ready: -+ -[,console] ----- -$ oc get telemetry -NAME STATUS MESSAGE -telemetry True Setup complete - -$ oc get metricstorage -NAME STATUS MESSAGE -metric-storage True Setup complete - -$ oc get route metric-storage-prometheus -NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD -metric-storage-prometheus metric-storage-prometheus-openstack.apps-crc.testing metric-storage-prometheus web edge/Redirect None ----- -+ -. You can view the Prometheus metrics in a web browser at the `HOST/PORT` address, for example, -https://metric-storage-prometheus-openstack.apps-crc.testing. - -== Installing the Operator - -.Procedure - -Now that you have a ready working environment, you can install the Watcher Operator. -NOTE: The steps below require you to log in to your OpenShift cluster as a user with -cluster-admin privileges. - -. Create a `watcher-operator.yaml` file: -+ -[source,yaml] ----- ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: watcher-operator-index - namespace: openstack-operators -spec: - image: quay.io/openstack-k8s-operators/watcher-operator-index:latest - sourceType: grpc ---- -apiVersion: operators.coreos.com/v1 -kind: OperatorGroup -metadata: - name: openstack - namespace: openstack-operators ---- -apiVersion: operators.coreos.com/v1alpha1 -kind: Subscription -metadata: - name: watcher-operator - namespace: openstack-operators -spec: - name: watcher-operator - channel: alpha - source: watcher-operator-index - sourceNamespace: openstack-operators ----- -+ -. `oc apply` the file to create the resources: -+ -[,console] ----- -$ oc apply -f watcher-operator.yaml -catalogsource.operators.coreos.com/watcher-operator-index created -operatorgroup.operators.coreos.com/openstack unchanged -subscription.operators.coreos.com/watcher-operator created ----- -+ -. Check that the operator is installed: -+ -[,console] ----- -$ oc get subscription.operators.coreos.com/watcher-operator -n openstack-operators -NAME PACKAGE SOURCE CHANNEL -watcher-operator watcher-operator watcher-operator-index alpha - -$ oc get pod -l openstack.org/operator-name=watcher -n openstack-operators -NAME READY STATUS RESTARTS AGE -watcher-operator-controller-manager-dd95db756-kslw9 2/2 Running 0 44s - -$ oc get csv watcher-operator.v0.0.1 -NAME DISPLAY VERSION REPLACES PHASE -watcher-operator.v0.0.1 Watcher Operator 0.0.1 Succeeded ----- - -== Deploying the Watcher Service - -Now, you will need to create a Watcher Custom Resource based on the `Watcher CRD` in the same project where your -OpenStackControlPlane CR is created. Typically, this is `openstack` project but you can check it with: - -[,console] ----- -$ oc get OpenStackControlPlane --all-namespaces -NAMESPACE NAME STATUS MESSAGE -openstack openstack-controlplane True Setup complete - ----- - - -.Procedure - -. Use the following commands to _view_ the `Watcher CRD` definition and specification schema: -+ -[,console] ----- -$ oc describe crd watcher - -$ oc explain watcher.spec ----- -+ -. Add a WatcherPassword field to the `Secret` created as part of the control plane deployment. -+ -For more information, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_services_on_openshift/18.0/html/deploying_red_hat_openstack_services_on_openshift/assembly_preparing-RHOCP-for-RHOSO#proc_providing-secure-access-to-the-RHOSO-services_preparing[Providing secure access to the Red Hat OpenStack Services on OpenShift services]. -+ -. Update the `Secret`, and verify that the `WatcherPassword` field is present: -+ -[,console] ----- -$ oc apply -f -n openstack - -$ oc describe secret osp-secret -n openstack | grep Watcher -WatcherPassword: 9 bytes ----- -+ -. To expose the watcher services over https, some certificates are needed -which will be automatically created by the openstack-operator as part of the -OpenStackControlPlane creation. -+ -. Create a file on your workstation named `watcher.yaml` to define the Watcher - CR. In the `endpointURL` field, replace the `example.com` domain with your - cluster domain and the `openstack` with the name of the project you are - deploying in (if it's different than the `openstack` default). - Although the exact parameters of your file may depend on your - specific environment customization, a Watcher CR similar to the example below - would work in a typical deployment: -+ -[source,yaml] ----- -apiVersion: watcher.openstack.org/v1beta1 -kind: Watcher -metadata: - name: watcher -spec: - databaseInstance: "openstack" - secret: - apiServiceTemplate: - override: - service: - public: - endpointURL: https://watcher-public-openstack.example.com - tls: - caBundleSecretName: "combined-ca-bundle" - api: - internal: - secretName: cert-watcher-internal-svc - public: - secretName: cert-watcher-public-svc ----- -+ -There are certain fields of the Watcher CR spec that need to match with the values used in the existing OpenStackControlplane: -+ -* *databaseInstance* parameter value must match to the name of the galera database created in the existing Control Plane. By default, this value is `openstack` but you can find it by running (ignore any galera having `cell` in its name): -+ -[,console] ----- -$ oc get galeras -n openstack -NAME READY MESSAGE -openstack True Setup complete - ----- -+ -* *rabbitMqClusterName* parameter value should be the name of the existing Rabbitmq cluster, which can be found with the command (ignore any rabbitmq having `cell` in its name). By default, it is `rabbitmq`. -+ -[,console] ----- -$ oc get rabbitmq -n openstack -NAME ALLREPLICASREADY RECONCILESUCCESS AGE -rabbitmq True True 6d15h - ----- -+ -* *memcachedInstance* must contain the name of the existing memcached CR in the same project (`memcached` by default). you can find it with: -+ -[,console] ----- -$ oc get memcached -n openstack -NAME READY MESSAGE -memcached True Setup complete - ----- -+ -* *caBundleSecretName* under apiServiceTemplate.tls section must match the value found in command: -+ -[,console] ----- -$ oc get OpenStackControlPlane openstack-controlplane -n openstack \ - -o jsonpath='{.status.tls.caBundleSecretName}' -combined-ca-bundle - ----- -+ -For more information about how to define an OpenStackControlPlane custom resource (CR), see link:https://docs.redhat.com/en/documentation/red_hat_openstack_services_on_openshift/18.0/html/deploying_red_hat_openstack_services_on_openshift/assembly_creating-the-control-plane#proc_creating-the-control-plane_controlplane[Creating the control plane]. -+ -. `oc apply` to configure Watcher -+ -[,console] ----- -$ oc apply -f watcher.yaml -n openstack -watcher.watcher.openstack.org/watcher configured ----- -+ -. To check if the service status, run: -+ -[,console] ----- -$ oc wait -n openstack --for condition=Ready --timeout=300s Watcher watcher -watcher.watcher.openstack.org/watcher condition met ----- -+ -where `Watcher` refers to the _kind_ and `watcher` refers to the name of the CR. -. Check that the watcher service has been registered in list of keystone services with command: -+ -[,console] ----- -$ oc rsh openstackclient openstack service list -+----------------------------------+------------+-------------+ -| ID | Name | Type | -+----------------------------------+------------+-------------+ -| 1470e8d6019446a1bcdfdb6dc55f3f6a | nova | compute | -| 41d60e1c678142cf8e5daf7a82af1864 | neutron | network | -| 5b0d95d1c08e4deb832815addd859924 | ceilometer | Ceilometer | -| 7e081cb4928945d7aa41d1622f7b8586 | cinderv3 | volumev3 | -| 8d7ee56ca2bb4dba999d67580909dd90 | glance | image | -| c3348e10fb414780988fbbceac9c4b5f | watcher | infra-optim | -| db60453eca65409bbb0b61f4295c66ec | placement | placement | -| fa717124fbcb4d708ba4c41c9109df81 | keystone | identity | -+----------------------------------+------------+-------------+ ----- -+ -. Check that the openstack cloud can communicate with the watcher endpoints: -+ -[,console] ----- -$ oc rsh openstackclient openstack optimize service list -+----+-------------------------+---------------------------+--------+ -| ID | Name | Host | Status | -+----+-------------------------+---------------------------+--------+ -| 1 | watcher-applier | watcher-applier-0 | ACTIVE | -| 2 | watcher-decision-engine | watcher-decision-engine-0 | ACTIVE | -+----+-------------------------+---------------------------+--------+ ----- -+ -This confirms that the openstackclient pod could communicate with the watcher -services. -. Check that the endpoints use HTTPS: -+ -[,console] ----- -$ oc rsh openstackclient openstack endpoint list --service infra-optim -c 'Service Name' -c 'Interface' -c 'URL' -+--------------+-----------+---------------------------------------------------------------+ -| Service Name | Interface | URL | -+--------------+-----------+---------------------------------------------------------------+ -| watcher | public | https://watcher-public-openstack.example.com | -| watcher | internal | https://watcher-internal.openstack.svc:9322 | -+--------------+-----------+---------------------------------------------------------------+ ----- +== Watcher operator installation +The watcher-operator is now integrated in openstack-operator. The +installation of the operator is now part of the installation of the +OpenStack Operator. For details about the deployment consult the +https://openstack-k8s-operators.github.io/openstack-operator/[OpenStack k8s Operators documentation]. + +== Watcher service deployment + +The deployment of the Watcher service is performed as part of the +OpenStackControlplane Custom Resource. A Watcher service section +exist to enable and configure the different aspects of the service. + +A default watcher service deployment can be done by just adding +following content to your **OpenStackControlPlane Custom Resource +spec**. + +``` + watcher: + enabled: true +``` + +For additional details and existing parameters in the watcher service +check the https://openstack-k8s-operators.github.io/openstack-operator/ctlplane/index.html#watchersection[WatcherSection] +and https://openstack-k8s-operators.github.io/openstack-operator/ctlplane/index.html#watcherspeccore[WatcherSpecCore] +sections of the documentation. + +**Note:** Watcher requires that the **OpenStackControlPlane** has +Telemetry service enabled, including the MetricStorage system which +provides the Prometheus backend and metrics required by Watcher.