<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sayitha</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sayitha"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Sayitha"/>
	<updated>2026-05-15T07:28:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2023_-_NTX-4_Extend_NDB_Operator_capabilities_to_support_Postgres_HA&amp;diff=151046</id>
		<title>CSC/ECE 517 Fall 2023 - NTX-4 Extend NDB Operator capabilities to support Postgres HA</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2023_-_NTX-4_Extend_NDB_Operator_capabilities_to_support_Postgres_HA&amp;diff=151046"/>
		<updated>2023-11-01T22:29:09Z</updated>

		<summary type="html">&lt;p&gt;Sayitha: Created page with &amp;quot;&amp;lt;h2&amp;gt;Kubernetes&amp;lt;/h2&amp;gt;   &amp;lt;h2&amp;gt;Nutanix Database Service&amp;lt;/h2&amp;gt;   &amp;lt;h2&amp;gt;NDB Kubernetes Operator&amp;lt;/h2&amp;gt; The goal of NDB Operator, a Kubernetes operator, is to make the process of setting u...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Kubernetes&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Nutanix Database Service&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;NDB Kubernetes Operator&amp;lt;/h2&amp;gt;&lt;br /&gt;
The goal of NDB Operator, a Kubernetes operator, is to make the process of setting up and maintaining database clusters within Kubernetes clusters easier. An application with operational knowledge of another application is called a Kubernetes operator. After deployment within the Kubernetes Cluster, it can start monitoring the endpoints of interest and modifying the application under management. An NDB Cluster can be deployed, managed, and modified with the least amount of human intervention thanks to the NDB Operator.&lt;br /&gt;
&lt;br /&gt;
Using their K8s cluster, developers can now provision PostgreSQL, MySQL, and MongoDB databases directly, saving them days or even weeks of work. They can take advantage of NDB's complete database lifecycle management while using the opensource NDB Operator on their preferred K8s platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Problem Statement&amp;lt;/h2&amp;gt;&lt;br /&gt;
The problem statement requires us to extend NDB operator capabilities to support Postgres HA (High Availability). Currently NDB has support for Posgres High Availability databases but the NDB operator cannot manage them. Our task is to identify what additions need to be made to the project to support Postgres HA and implement these additions. Moreover, we will perform end-to-end testing of the provisioning and deprovisioning processes to ensure their smooth functionality.&lt;br /&gt;
&lt;br /&gt;
Postgres HA involves implementation of measures that ensure that a PostgreSQL database system remains operational and accessible even in the face of hardware failures, software issues, or other types of disruptions. This includes measures like replication, failover, load balancing and more.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Approach&amp;lt;/h2&amp;gt;&lt;br /&gt;
- To start a hardcoded file containing basic config for Postgres HA can be made.&amp;lt;br&amp;gt;&lt;br /&gt;
- The hardcoded file will contain details such as databaseInstanceName, description, clusterId, credentialSecret, size.&amp;lt;br&amp;gt;&lt;br /&gt;
- Starting from ndb_api changes can be made to integrate Postgres HA support.&amp;lt;br&amp;gt;&lt;br /&gt;
- The flow of changes will be from ndb_api -&amp;gt; controller adapters -&amp;gt; controllers -&amp;gt; api.&amp;lt;br&amp;gt;&lt;br /&gt;
- In ndb_api, another method appendRequest for Postgres HA needs to be added to db_helpers.go. Within this method, additional specifications for this specific database type shall be provided.&amp;lt;br&amp;gt;&lt;br /&gt;
- Within api, the Instance struct needs to be updated to include parameters like copies of the instance, how often data will be copied from the primary and more.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;References&amp;lt;/h2&amp;gt;&lt;br /&gt;
[https://www.nutanix.com/products/database-service Nutanix Database Service]&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org/docs/current/high-availability.html PostgreSQL High Availability]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Relevant Links&amp;lt;/h2&amp;gt;&lt;br /&gt;
link to GitHub repository: [https://github.com/rithvik2607/ndb-operator https://github.com/rithvik2607/ndb-operator]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Team&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Mentor&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Nandini Mundra&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Student Team&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sai Rithvik Ayithapu (sayitha@ncsu.edu)&amp;lt;br&amp;gt;&lt;br /&gt;
Sreehith Yachamaneni (syacham@ncsu.edu)&amp;lt;br&amp;gt;&lt;br /&gt;
Rushil Patel (rdpate24@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Sayitha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2023&amp;diff=151045</id>
		<title>CSC/ECE 517 Fall 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2023&amp;diff=151045"/>
		<updated>2023-11-01T22:28:50Z</updated>

		<summary type="html">&lt;p&gt;Sayitha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[CSC/ECE 517 Fall 2023 - E2358. Refactor student_quizzes_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2351. Finish mentor management for assignments without topics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2356. Refactor review_mapping_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2359. Refactor user_controller.rb, user.rb, and its child classes]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2367. Reimplement participants_controller.rb, participants.rb and its child classes]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2355. Improving Search Facility In Expertiza]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2365. Create a user interface for Questionnaire in ReactJS]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2364. Create a UI for Course's &amp;amp; Assignment's &amp;quot;Add Participants&amp;quot; page]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2361. Create a page to create and update a Questionnaire in ReactJS]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2362. Create a page to edit an Assignment's due date in ReactJS]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2363. Create a UI for Assignment Edit page &amp;quot;Etc&amp;quot; tab in ReactJS]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2375. Reimplement Waitlists]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2357. Refactor sign_up_sheet_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2366. Reimplement assignment model and assignment controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2368. Reimplement of due_date.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2370. Reimplement join team requests controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2371. Reimplement quiz_questionnaires_controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2369. Reimplement duties controller.rb and badges controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2353. Further refactoring and improvement of review mapping helper]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2373. Reimplementation of teams controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2374. Reimplement the Question hierarchy]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - NTX-2 Observability and Debuggability]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - E2350. Allow reviewers to bid on what to review]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2023 - NTX-4 Extend NDB Operator capabilities to support Postgres HA]]&lt;/div&gt;</summary>
		<author><name>Sayitha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2023_-_NTX-4_Expand_NDB_Operator_capabilities_to_support_Postgres_HA&amp;diff=151044</id>
		<title>CSC/ECE 517 Fall 2023 - NTX-4 Expand NDB Operator capabilities to support Postgres HA</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2023_-_NTX-4_Expand_NDB_Operator_capabilities_to_support_Postgres_HA&amp;diff=151044"/>
		<updated>2023-11-01T22:21:25Z</updated>

		<summary type="html">&lt;p&gt;Sayitha: Created layout of the page and added content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Kubernetes&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Nutanix Database Service&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;NDB Kubernetes Operator&amp;lt;/h2&amp;gt;&lt;br /&gt;
The goal of NDB Operator, a Kubernetes operator, is to make the process of setting up and maintaining database clusters within Kubernetes clusters easier. An application with operational knowledge of another application is called a Kubernetes operator. After deployment within the Kubernetes Cluster, it can start monitoring the endpoints of interest and modifying the application under management. An NDB Cluster can be deployed, managed, and modified with the least amount of human intervention thanks to the NDB Operator.&lt;br /&gt;
&lt;br /&gt;
Using their K8s cluster, developers can now provision PostgreSQL, MySQL, and MongoDB databases directly, saving them days or even weeks of work. They can take advantage of NDB's complete database lifecycle management while using the opensource NDB Operator on their preferred K8s platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Problem Statement&amp;lt;/h2&amp;gt;&lt;br /&gt;
The problem statement requires us to extend NDB operator capabilities to support Postgres HA (High Availability). Currently NDB has support for Posgres High Availability databases but the NDB operator cannot manage them. Our task is to identify what additions need to be made to the project to support Postgres HA and implement these additions. Moreover, we will perform end-to-end testing of the provisioning and deprovisioning processes to ensure their smooth functionality.&lt;br /&gt;
&lt;br /&gt;
Postgres HA involves implementation of measures that ensure that a PostgreSQL database system remains operational and accessible even in the face of hardware failures, software issues, or other types of disruptions. This includes measures like replication, failover, load balancing and more.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Approach&amp;lt;/h2&amp;gt;&lt;br /&gt;
- To start a hardcoded file containing basic config for Postgres HA can be made.&amp;lt;br&amp;gt;&lt;br /&gt;
- The hardcoded file will contain details such as databaseInstanceName, description, clusterId, credentialSecret, size.&amp;lt;br&amp;gt;&lt;br /&gt;
- Starting from ndb_api changes can be made to integrate Postgres HA support.&amp;lt;br&amp;gt;&lt;br /&gt;
- The flow of changes will be from ndb_api -&amp;gt; controller adapters -&amp;gt; controllers -&amp;gt; api.&amp;lt;br&amp;gt;&lt;br /&gt;
- In ndb_api, another method appendRequest for Postgres HA needs to be added to db_helpers.go. Within this method, additional specifications for this specific database type shall be provided.&amp;lt;br&amp;gt;&lt;br /&gt;
- Within api, the Instance struct needs to be updated to include parameters like copies of the instance, how often data will be copied from the primary and more.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;References&amp;lt;/h2&amp;gt;&lt;br /&gt;
[https://www.nutanix.com/products/database-service Nutanix Database Service]&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org/docs/current/high-availability.html PostgreSQL High Availability]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Relevant Links&amp;lt;/h2&amp;gt;&lt;br /&gt;
link to GitHub repository: [https://github.com/rithvik2607/ndb-operator https://github.com/rithvik2607/ndb-operator]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Team&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Mentor&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Nandini Mundra&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Student Team&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Sai Rithvik Ayithapu (sayitha@ncsu.edu)&amp;lt;br&amp;gt;&lt;br /&gt;
Sreehith Yachamaneni (syacham@ncsu.edu)&amp;lt;br&amp;gt;&lt;br /&gt;
Rushil Patel (rdpate24@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Sayitha</name></author>
	</entry>
</feed>