GeistHaus
log in · sign up

https://nikhilkathole.wordpress.com/feed

rss
8 posts
Polling state
Status active
Last polled May 19, 2026 05:12 UTC
Next poll May 20, 2026 02:25 UTC
Poll interval 86400s
Last-Modified Sun, 26 Oct 2025 11:55:57 GMT

Posts

Scaling ML with Feast and Ray: Distributed Processing for Modern AI Applications
AI/MLaiartificial-intelligencellmragtechnology
Building scalable feature pipelines and retrieval-augmented generation systems with distributed computing. Introduction In today’s data-driven world, organizations are increasingly turning to distributed computing to handle large-scale machine learning workloads. When it comes to feature engineering and retrieval-augmented generation (RAG) systems, the combination of Feast and Ray provides a powerful solution for building scalable, production-ready pipelines.... Continue Reading →
Show full content

Building scalable feature pipelines and retrieval-augmented generation systems with distributed computing.

Introduction

In today’s data-driven world, organizations are increasingly turning to distributed computing to handle large-scale machine learning workloads. When it comes to feature engineering and retrieval-augmented generation (RAG) systems, the combination of Feast and Ray provides a powerful solution for building scalable, production-ready pipelines.

This blog post explores how Feast’s integration with Ray enables distributed processing for both traditional feature engineering and modern RAG applications, with support for Kubernetes deployment through KubeRay.

Why Feast + Ray for Distributed Processing?

Modern ML applications face several scaling challenges:

  • Large Datasets: Processing millions of documents for embedding generation
  • Complex Transformations: CPU-intensive operations like text processing and feature engineering
  • Real-time Requirements: Low-latency retrieval for RAG applications
  • Resource Management: Efficient utilization of compute resources across clusters

Feast’s integration with Ray addresses these challenges.

Getting Started 1. Install Dependencies
pip install feast[ray]
2. Initialize Ray RAG Template
feast init -t ray_rag my_rag_project
cd my_rag_project/feature_repo
3. Configure Feature Store
# feature_store.yaml
project: my_project
registry: data/registry.db
provider: local

offline_store:
  type: ray
  storage_path: data/ray_storage
  broadcast_join_threshold_mb: 100
  max_parallelism_multiplier: 2
  target_partition_size_mb: 64

batch_engine:
  type: ray.engine
  max_workers: 12
  enable_optimization: true
  broadcast_join_threshold_mb: 100
  target_partition_size_mb: 64

online_store:
  type: milvus
  path: data/online_store.db
  vector_enabled: true
  embedding_dim: 384
  index_type: "FLAT"
  metric_type: "COSINE"
4. Apply and Materialize
feast apply
feast materialize --disable-event-timestamp
Ray Integration Modes

Feast supports three execution modes for Ray integration:

  1. Local Mode (Development)
offline_store:
  type: ray
  storage_path: data/ray_storage
  # Conservative settings for local development
  broadcast_join_threshold_mb: 25
  max_parallelism_multiplier: 1
  target_partition_size_mb: 16
  enable_ray_logging: false
  1. Remote Ray Cluster
offline_store:
  type: ray
  storage_path: s3://my-bucket/feast-data
  ray_address: "ray://my-cluster.example.com:10001"
  1. KubeRay (Kubernetes)
offline_store:
  type: ray
  storage_path: s3://my-bucket/feast-data
  use_kuberay: true
  kuberay_conf:
    cluster_name: "feast-ray-cluster"
    namespace: "feast-system"
    auth_token: "${RAY_AUTH_TOKEN}"
    auth_server: "https://api.openshift.com:6443"
    skip_tls: false
Component Responsibilities
  • Ray Compute Engine: Executes distributed feature computations, transformations, and joins
  • Ray Offline Store: Handles data I/O operations, reading from various sources (Parquet, CSV, etc.)
DAG-Based Processing

The Ray compute engine follows a DAG-based architecture:

EntityDF → RayReadNode → RayJoinNode → RayFilterNode → RayAggregationNode → RayTransformationNode → Output

RAG Implementation with Ray Distributed Embedding Generation

One of the most powerful use cases for Feast + Ray is distributed embedding generation for RAG systems:

from feast import BatchFeatureView, Entity, Field, FileSource
from feast.types import Array, Float32, String
from feast.transformation.ray_transformation import RayTransformation

# Embedding processor for distributed Ray processing
class EmbeddingProcessor:
    """Generate embeddings using SentenceTransformer model."""
    
    def __init__(self):
        import torch
        from sentence_transformers import SentenceTransformer
        
        device = "cuda" if torch.cuda.is_available() else "cpu"
        self.model = SentenceTransformer("all-MiniLM-L6-v2", device=device)
    
    def __call__(self, batch):
        """Process batch and generate embeddings."""
        descriptions = batch["Description"].fillna("").tolist()
        embeddings = self.model.encode(
            descriptions,
            show_progress_bar=False,
            batch_size=128,
            normalize_embeddings=True,
            convert_to_numpy=True,
        )
        batch["embedding"] = embeddings.tolist()
        return batch

# Ray native UDF for distributed processing
def generate_embeddings_ray_native(ds):
    """Distributed embedding generation using Ray Data."""
    max_workers = 8
    batch_size = 2500
    
    # Optimize partitioning for available workers
    num_blocks = ds.num_blocks()
    if num_blocks < max_workers:
        ds = ds.repartition(max_workers)
    
    result = ds.map_batches(
        EmbeddingProcessor,
        batch_format="pandas",
        concurrency=max_workers,
        batch_size=batch_size,
    )
    return result

# Feature view with Ray transformation
document_embeddings_view = BatchFeatureView(
    name="document_embeddings",
    entities=[document],
    mode="ray",  # Native Ray Dataset mode
    ttl=timedelta(days=365 * 100),
    schema=[
        Field(name="document_id", dtype=String),
        Field(name="embedding", dtype=Array(Float32), vector_index=True),
        Field(name="movie_name", dtype=String),
        Field(name="movie_director", dtype=String),
    ],
    source=movies_source,
    udf=generate_embeddings_ray_native,
    online=True,
)
Vector Search Integration

Feast integrates with vector databases like Milvus for efficient similarity search:

online_store:
  type: milvus
  path: data/online_store.db
  vector_enabled: true
  embedding_dim: 384
  index_type: "FLAT"
  metric_type: "COSINE"
RAG Query Example
from feast import FeatureStore
from sentence_transformers import SentenceTransformer

# Initialize feature store
store = FeatureStore(repo_path=".")

# Generate query embedding
model = SentenceTransformer("all-MiniLM-L6-v2")
query_embedding = model.encode(["sci-fi movie about space"])[0].tolist()

# Retrieve similar documents
results = store.retrieve_online_documents_v2(
    features=[
        "document_embeddings:embedding",
        "document_embeddings:movie_name",
        "document_embeddings:movie_director",
    ],
    query=query_embedding,
    top_k=5,
).to_dict()

# Display results
for i in range(len(results["document_id_pk"])):
    print(f"{i+1}. {results['movie_name'][i]}")
    print(f"   Director: {results['movie_director'][i]}")
    print(f"   Distance: {results['distance'][i]:.3f}")
# feast init -t ray_rag
   🎬 Downloading real IMDB movie data for RAG demonstration...
   📥 Attempting to download IMDB dataset...
   🔑 Kaggle API found, checking authentication...
Dataset URL: https://www.kaggle.com/datasets/yashgupta24/48000-movies-dataset
   📥 Dataset downloaded successfully!
   📄 Found dataset file: final_data.csv
   📊 Dataset shape: (48513, 18)
   📋 Columns: ['id', 'url', 'Name', 'PosterLink', 'Genres', 'Actors', 'Director', 'Description', 'DatePublished', 'Keywords', 'RatingCount', 'BestRating', 'WorstRating', 'RatingValue', 'ReviewAurthor', 'ReviewDate', 'ReviewBody', 'duration']
   ✅ Successfully downloaded Kaggle dataset with 48513 movies
   📁 Copied CSV to: /feast-projects/handy_wildcat/feature_repo/data/final_data.csv
🚀 Ray RAG template initialized successfully!

🎯 To get started:
  1. cd handy_wildcat/feature_repo
  2. feast apply
  3. feast materialize --disable-event-timestamp
  4. python test_workflow.py

Creating a new Feast repository in /feast-projects/handy_wildcat.

# python test_workflow.py
Feature views: 1
Vector similarity search with Feast ...
   Query: 'Science fiction movie'
   📊 Top 3 results:
      1. Science Fiction
         Director: Danny Deprez | Genres: Adventure,Family,Mystery,Sci-Fi,Thriller
      2. The Scientist
         Director: Zach LeBeau | Genres: Drama,Sci-Fi
      3. Life
         Director: Daniel Espinosa | Genres: Horror,Sci-Fi,Thriller

   Query: 'Action movie with explosions and car chases'
   📊 Top 3 results:
      1. Blastfighter
         Director: Lamberto Bava | Genres: Action,Crime,Drama,Mystery
      2. Blast
         Director: Anthony Hickox | Genres: Action,Thriller
      3. Wreckage
         Director: John Asher | Genres: Horror,Thriller

   Query: 'Space exploration and time travel film'
   📊 Top 3 results:
      1. The Space Movie
         Director: Tony Palmer | Genres: Documentary
      2. An Adventure in Space and Time
         Director: Terry McDonough | Genres: Biography,Drama,History
      3. Voyage of Time: Life's Journey
         Director: Terrence Malick | Genres: Documentary,Drama

📚 What was demonstrated:
   ✅ Ray-based distributed embedding generation
   ✅ Milvus vector storage and retrieval
   ✅ Similarity search
   ✅ Raw Data to Search workflow

🚀 Next steps:
   • Scale to larger datasets
   • Connect to distributed Ray cluster

Whether you’re building traditional feature pipelines or modern RAG systems, Feast + Ray offers the scalability and performance needed for production workloads. The integration supports everything from local development to large-scale Kubernetes deployments, making it an ideal choice for organizations looking to scale their ML infrastructure.

Additional Resources

Feast_ray
nikhilkathole2683
http://nikhilkathole.wordpress.com/?p=642
Extensions
PyCon India 2024
Conference
Last week, I had an incredible opportunity to attend PyCon India 2024, a vibrant gathering for Python enthusiasts and professionals, offering an opportunity to dive deep into the world of Python and explore its limitless potential. The event featured a dynamic 1 day workshop followed by 2 engaging days of conference talks and discussions. Workshop... Continue Reading →
Show full content

Last week, I had an incredible opportunity to attend PyCon India 2024, a vibrant gathering for Python enthusiasts and professionals, offering an opportunity to dive deep into the world of Python and explore its limitless potential.

The event featured a dynamic 1 day workshop followed by 2 engaging days of conference talks and discussions.

#PyConIndia2024 pic.twitter.com/SfcPQoSDYx

— Nikhil Kathole (@NikhilKathole1) September 20, 2024

Workshop Day

The workshop was hands-on, providing participants with practical skills and insights from experienced developers. There were multiple track, I focused on the AI/ML track, starting with a session titled “Chat with Tables: Developing a Q&A System on Tabular Data Using Code Generative LLMs.”

This session explored how to leverage Code Generative Large Language Models to create an end-to-end process for natural language querying on tabular data.

In the afternoon, I attended a session called “Introduction to Data-Driven AI Applications and Multi-Modal Search.”

This session emphasized that AI is not just LLMs and GPT.

This session was consists of the concepts and talking about how AI converts text, video, images into embedding formats that can be used for predictive completion, search and comparisons.

Day 1 Conference Day

What an amazing energy this morning! The day kicked off with an inspiring keynote on making Python programs fast. The speaker emphasized the need for speed in today’s tech landscape, illustrating improvements in base64 and HTML5 parsing with engaging examples featuring kitty and calibre.

One of the highlights was the deep dive into code profiling—understanding where bottlenecks occur and how to address them. The talk covered various techniques for optimizing performance, showcasing practical methods to enhance code efficiency. It was a fantastic start to the conference, setting a high bar for the sessions to come!

You can find slides at https://sw.kovidgoyal.net/talks/pycon2024

Throughout the conference, captivating sketches were created for each presentation. You can check them all out on Twitter at https://twitter.com/pyconindia .

Throughout the day, I attended several insightful sessions:

  • Unit test library like pytest from scratch : This session was good example of using reverse engineering, how the internals of a testing library can be designed.
  • AI deployments : In this session, the team from Abnormal Security shared their approach to deployment, detailing the tools they use, such as Spinnaker and Keyenta. They discussed their automated canary analysis and release pipeline strategies, offering valuable insights into modern deployment practices in AI applications.
  • Concurrency and parallel execution in Python : This session explored the concepts of concurrency and parallelism in Python, explaining their significance and underlying mechanisms. The speaker provided a clear overview of how the Global Interpreter Lock (GIL) interacts with multithreading and multiprocessing modules.

Day 2 Conference Day

Day 2 kicked off with an inspiring keynote by Mars Lee titled “How Open Source Opened Opportunities.” Mars shared a compelling narrative about the transformative power of open source contributions, emphasizing that anyone, regardless of their background, can get involved. Using own journey as a designer who began contributing to the NumPy project, illustrated the practical steps and mindset needed to engage with open source. Talk highlighted the skills gained and connections made through this process, encouraging attendees to explore opportunities within the open source community and make their own contributions.

The Python Pune group meetup at PyCon India provided a fantastic opportunity for attendees to connect in person and engage in casual conversations.

Highlights from Day 2 sessions :

  • Contextual Logging for Modern Python Applications : This session provided an insightful introduction to advanced logging libraries such as Structlog and Loguru, demonstrating how to effectively integrate these tools into Python projects. The speaker also covered techniques for enhancing contextual logging, including the use of the standard logging module and context managers to add custom support, enabling users to capture more meaningful and context-rich log data in their applications.
  • Python Packing session : This session delved into the evolution of Python packaging, offering intriguing insights into various tools available and guidance on when to use each one. Notably, the speaker shared a new tool called uv, which boasts speeds 10 to 100 times faster than PIP. Written in Rust, this extremely fast package and project manager is poised to revolutionize the way developers handle Python dependencies.
  • Why Knowing Cython Helps in Understanding Python : This talk delved into the relationship between Python and Cython, illustrating how Cython can deepen your understanding of the Python Virtual Machine and Python’s performance.

Over the two conference days, I attended a variety of sessions that covered everything from emerging trends in Python to innovative applications across different fields.


Here are some glimpse of the sponsors booth and networking with people :

Overall, PyCon India 2024 was not just a learning experience but also a celebration of the Python community and its creativity.

Thank you, Pune leadership and Red Hat, for providing such a great opportunity to attend PyCon India 2024. I truly appreciate your support!

GX10LE_W0AAeUkS
nikhilkathole2683
http://nikhilkathole.wordpress.com/?p=559
Extensions
FOSSASIA Summit 2024
Uncategorized
The FOSSASIA Summit is an annual event focused on Open Source technologies. This year it was held at Posts and Telecommunications Institute of Technology, Hanoi, Vietnam from April 8 to April 10, 2024. It is a really great platform for collaboration and an opportunity to shape the future of Free and Open Source solutions from... Continue Reading →
Show full content

The FOSSASIA Summit is an annual event focused on Open Source technologies. This year it was held at Posts and Telecommunications Institute of Technology, Hanoi, Vietnam from April 8 to April 10, 2024. It is a really great platform for collaboration and an opportunity to shape the future of Free and Open Source solutions from Asia and beyond.

I got a chance to attend this conference as a Speaker. My talk was about “Continuous Delivery and Testing in SaaS”. In this session, I shared the experience and set of processes for deploying high quality SaaS releases in a timely manner. Here are some snippets from the session :

Everything was amazing and full of energy. Thanks to FOSSASIA for having me and Red Hat for the support.

nikhilkathole2683
http://nikhilkathole.wordpress.com/?p=519
Extensions
FOSDEM 2023
Conference
FOSDEM is an event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels, Belgium. 
Show full content

FOSDEM is an event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels, Belgium. 

https://twitter.com/NikhilKathole1/status/1621951395933966337
https://twitter.com/fedora/status/1622162219700994048
Fedora and CentOS Contributors Dinner at FOSDEM 2023

FLOSS Foundations Dinner 2023

SustainOSS FOSDEM 2023 Meetup
2023-02-17-19.07.43
nikhilkathole2683
http://nikhilkathole.wordpress.com/?p=485
Extensions
Using Pushgateway for Prometheus custom metrics
OpenShift
This blog explains steps for deploying pushgateway and prometheus on Red Hat OpenShift 4. It may help you if you have need to collect some custom metrics in Prometheus from your application or some script. Login to OpenShift cluster # oc login –token=$(TOKEN)–server=https://api.nkathole-qe.example.com:6443Logged into https://api.nkathole-qe.example.com:6443 as nkathole using the token provided.You have access to 63... Continue Reading →
Show full content

This blog explains steps for deploying pushgateway and prometheus on Red Hat OpenShift 4. It may help you if you have need to collect some custom metrics in Prometheus from your application or some script.

Login to OpenShift cluster

# oc login –token=$(TOKEN)–server=https://api.nkathole-qe.example.com:6443
Logged into https://api.nkathole-qe.example.com:6443 as nkathole using the token provided.
You have access to 63 projects, the list has been suppressed. You can list all projects with ‘oc projects’
Using project “openshift-monitoring”.

Create new project

# oc new-project nkathole-metrics
Now using project “nkathole-metrics” on server https://api.nkathole-qe.example.com:6443.
You can add applications to this project with the ‘new-app’ command. For example, try:
oc new-app centos/ruby-25-centos7~https://github.com/sclorg/ruby-ex.git
to build a new example application in Ruby.

Clone the repository https://github.com/ntkathole/prometheus-pushgateway

# git clone git@github.com:ntkathole/prometheus-pushgateway.git
# cd prometheus-pushgateway/

Create docker secrets (to avoid Docker Download rate limit)

# oc create secret docker-registry regcred –docker-server=https://index.docker.io/v1/ –docker-username=ntkathole –docker-password=xxxxx
secret/regcred created

To view secret

# oc get secret regcred –output=yaml


Create pushgateway deployment and service

# oc create -f pushgateway.yaml
deployment.apps/pushgateway-deployment created
service/pushgateway-service created

Create Prometheus ConfigMap

# oc create cm prometheus-example-cm –from-file prometheus.yml
configmap/prometheus-example-cm created

Create Prometheus deployment and service

# oc create -f prometheus-example.yaml
deployment.apps/prometheus-deployment created
service/prometheus-example-service created

You can access Pushgateway by creating route :

Creating route for service
Pushgateway Web interface

You can also access prometheus by creating route to prometheus service created above :

Prometheus Web interface
Sending custom metric data to pushgateway

Forward the port to access pushgateway service

# oc port-forward pushgateway-deployment-79ddb97cdc-bnnf7 9091:9091
Forwarding from 127.0.0.1:9091 -> 9091
Forwarding from [::1]:9091 -> 9091

Send metrics data

# echo “nkathole 123” | curl –data-binary @- http://localhost:9091/metrics/job/nkathole

View data in Pushgateway

# curl localhost:9091/metrics | grep nkathole

View data in Prometheus

Prometheus returning data for custom metrics “nkathole”

OpenShift Views

Screenshot from 2021-02-28 10-50-14
nikhilkathole2683
http://nikhilkathole.wordpress.com/?p=441
Extensions
Flock to Fedora 2019 – Budapest
Uncategorized
This was my First year when I attended Flock. It was an amazing experience. Some quotes from the event: “If You Want to Go Fast, Go Alone. If You Want to Go Far, Go Together.” “Engineers say they hate process. But I think engineers secretly love process. It’s just that when it works, they call... Continue Reading →
Show full content

This was my First year when I attended Flock. It was an amazing experience.

Click to view slideshow.

Some quotes from the event:

“If You Want to Go Fast, Go Alone. If You Want to Go Far, Go Together.”

“Engineers say they hate process. But I think engineers secretly love process. It’s just that when it works, they call it culture!”

“We need so much more automation – make the robots to do it and let the humans supervise.”

EBdsX4DXUAAzYcg

Video by D&I fedora :

 

Candy swap event:

48529652887_27f93d0b0a_o

 

EBdLWuRXoAIEn9M

Click to view slideshow.

 

flcok2019
nikhilkathole2683
EBdsX4DXUAAzYcg
48529652887_27f93d0b0a_o
EBdLWuRXoAIEn9M
http://nikhilkathole.wordpress.com/?p=349
Extensions
DevConf CZ 2020 – Brno
Uncategorized
I had an opportunity of attending the Devconf, which was hosted in Brno, the beautiful city of Czech Republic. DevConf.CZ 2020 was the 12th annual, free, Red Hat sponsored community conference for developers, admins, DevOps engineers, testers and other contributors to open source technologies. I reached Brno one day (23rd Jan) before the conference and... Continue Reading →
Show full content

I had an opportunity of attending the Devconf, which was hosted in Brno, the beautiful city of Czech Republic. DevConf.CZ 2020 was the 12th annual, free, Red Hat sponsored community conference for developers, admins, DevOps engineers, testers and other contributors to open source technologies.

I reached Brno one day (23rd Jan) before the conference and was very much excited as it was the my first time to Czech Republic (that too in winter )

The event was a 3 day event including . My talk on “Foreman Single Sign-On Made Easy with Keycloak” was on the third day of the event.

As I entered the venue, I was amazed by looking at the crowd, what a huge number of attendees. I went to registration desk to collect my speaker badge, surprisingly I met one of my teammate Lucie Vrtelova there. She was volunteering for DevConf. It was great to meet her in person and that’s the beauty of conferences. DevConf CZ is also a great opportunity to meet friends and colleagues from across time zones.

I was so happy to see number of known faces within Red Hat, Fedora and Foreman community. We also had a Foreman community booth, where I got a chance to meet developers in Foreman team.

Click to view slideshow.

Highlights :

Here are some glimpse of talks that I attended over the event :

1. CI/CD – Let The Robots Do Their Job!

  • Humans Should Not Push the Merge Button – Let The Robots Do Their Job!!
  • When I make a PR to some OpenShift repo, CI jobs tell me if my code works. If I change a CI job, what tells me if it works?
  • Merging a pull request too quickly excludes many people from the conversation. Think like “I’ll leave this open for some time for others to see and comment before merging.”

2. Lessons learned from testing over 200,000 lines of Infrastructure Code

The sessions was about best practices on building sustainable, tested infrastructure. Infrastructure-as-Code (IaC) was important to how T-Systems scaled their infrastructure over time.

  • Smaller components:
    1. More sustainable
    2. Easier to maintain
    3. Easier to test
  • Ansible Roles encourage best use practices for Ansible
  • Write unit tests and use static analysis tools (pylint, AnsibleLint)

3. Content as code, technical writers as developers

This talk was about whys and hows of our approach, showing you that the “developer” in “Information Developer” (new term that heard with Docs-as-Code (DaC))

4. Psychological Safety and the High Performing TeamIMG_20200126_091125

  • Until you have psychological safety, nothing else will make your team better. Team members must feel supported and safe making mistakes.
  • Are you human? Do this: Have compassion for yourself, for others, and make new+better mistakes every day.

Overall it was about “Alone, we can do so little, Together we can do so much”. Three things you can do today to build psychological safety:

1. Show compassion for yourself

2. Show compassion for others

3. Make new and better mistakes each day

5. webauthn support of Keycloak with webauthn4j

This talk was about explaining in depth the Keycloak’s WebAuthn server support for two factor authentication and demo of multi-factor authentication support in Keycloak, which is another step towards password-less experience.

6. What is wrong with PKI – SKS keyserver flaws!

This talk explained the recent attacks on SKS keyservers and a demo demonstrating the SKS keyserver flaw as well.

Click to view slideshow.

7. What’s new in Selenium 4?

        This was nice talk about upcoming changes in selenium 4 explaining detail about what is new and what is going to deprecate. This makes us think about the changes required in existing UI selenium frameworks.

Devconf was also extremely fun with a lot of activities including various presentations.

Candy Swap

This was one of the favorite part of conference. The candy sway event was hosted by Justin Flory and Jona Azizaj.

As name explains, participants are invited to bring a unique confectionery or candy from their country or city to share with multiple other people. Before going around to try yummy things, all participants explain what item they bring and any story about its origins or where it is normally used. After sharing, everyone who brought something rotates around to try candies brought by others. After all participants have had a chance to sample, the rest of the community is invited to come and try anything remaining.

Click to view slideshow.

My Talk :

My talk was in Security track and was on 3rd day of the event. It was about “Foreman Single Sign-On Made Easy with Keycloak” .The talk was about how keycloak integrates with foreman and what it can bring to your enterprise, from the centralized users and permissions management to the logins from FreeIPA, AD servers and different social sites such as facebook, twitter, github etc.

Keycloak integration was the latest thing in Foreman and I was amazed to see the number of Keycloak and Foreman users sitting in the room. Specifically the Keycloak users was very much excited to see how other products are consuming Keycloak for identity.

 

Nikhil presenting on Foreman and Keycloak integration at #DevConf_CZ pic.twitter.com/U34NY9MtQh

— Bryan Kearney (@bryan_kearney) January 26, 2020

Takeaways:

  • Getting feedback on an early version of your latest work is quite helpful.
  • It always awesome to tell people about what you are working on.

DevConf is also more than the sessions. It’s also the people and conversations that happen. It was nice to see many old friends. I had an amazing time there, I attended many talks, socialized with new people etc., which all of them were an unforgettable time for me.

I would like to take this opportunity to thank Red Hat for giving me this chance of being at such a great event. A Big thanks to the whole organizing committee for such an awesome event. It was a blast! Had amazing days spent among smart and friendly people! Hopefully next year will be there too!

Beyond DevConf :

I spent a few extra days after DevConf CZ in Brno as I wanted to meet my teammates from Red Hat Brno office. It was awesome experience of 2 days working from Brno and meeting people in person with whom you talk on IRC channels on daily basis.

We had nice talk, enjoyed dinner together, also my first experience of ice skating was priceless 😉

Click to view slideshow.

Thanks to all my Brno teammates for the great time 🙂

nikhilkathole2683
IMG_20200126_091125
http://nikhilkathole.wordpress.com/?p=400
Extensions
Configuring VNC server on RHEL
Uncategorized
When you want to access display of remote server, setting up VNC server is the best option. The usecase can be opening browser for Kerberos SSO testing or anything else. Let’s see how you can setup VNC server and open browser of remote system. 1. Install tigervnc on local system to access remote display. yum... Continue Reading →
Show full content

When you want to access display of remote server, setting up VNC server is the best option. The usecase can be opening browser for Kerberos SSO testing or anything else. Let’s see how you can setup VNC server and open browser of remote system.

1. Install tigervnc on local system to access remote display.

yum install tigervnc

This will give you vnviewer command to access remote desktops.

2. Configure remote system to run VNC server.

1. Install required packages

yum install tigervnc-server xorg-x11-fonts-Type1

2. The above command will create default config file at /lib/systemd/system/vncserver@.service. We will copy the file and do required changes.

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:5903.service

3. Edit copied file /etc/systemd/system/vncserver@:5903.service and change <USER> directory file as per your system.

For me, I am using /root/ so the configuration on my system looks like

ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l root -c “/usr/bin/vncserver %i”
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’

4. Set password to access desktops remotely using vncserver command.

# vncserver

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
xauth: file /root/.Xauthority does not exist

New ‘rhel.example.com:3 (root)’ desktop is rhel.example.com:3

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/rhel.example.com:3.log

5. Reload the daemon and start vncserver service

systemctl daemon-reload

systemctl start vncserver@:5903.service

And you are good to go, you can access the display of remote system from your local system using vncviewer.

vncviewer rhel.example.com:3

Note: Here desktop :3 came from output of above command from step 4. It can be different for you based on output.

If you want to open browser of remote system at particular display, you can run following command on remote system.

env DISPLAY=:3 firefox

Screenshot from 2019-12-09 15-44-08

Happy Hacking 🙂

Screenshot from 2019-12-09 15-44-08
nikhilkathole2683
http://nikhilkathole.wordpress.com/?p=391
Extensions
Fedora Women’s Day – 2019
FedoraMeetup
Fedora Women’s Day (FWD) is a one day event celebrated across the world, mostly during the month of September, in collaboration with open source communities to bring visibility to female contributors in open source projects, including Fedora, headed by Fedora’s Diversity and Inclusion Team. Amita Sharma spoke with some college faculties, came up with the... Continue Reading →
Show full content

Fedora Women’s Day (FWD) is a one day event celebrated across the world, mostly during the month of September, in collaboration with open source communities to bring visibility to female contributors in open source projects, including Fedora, headed by Fedora’s Diversity and Inclusion Team.

Amita Sharma spoke with some college faculties, came up with the proposal https://pagure.io/fedora-diversity/fedora-womens-day/issue/22 and the event scheduled for 28th September, 2019. So, this year, it was – DIEMS, Aurangabad Maharashtra, India college where the first Fedora Women’s Day of the year 2019 was hosted with 60+ students.

The day came up and we managed to woke up early morning (in spite of late night event at office). But, due to issue with our cab, we got late to start from Pune.

After 4-5 hours of journey, we reached college in the afternoon and kicked off the event as soon as possible. The “Rangoli” of Fedora logo made by college girls in the college corridor was amazing and attractive.

 

IMG_20190928_150703_2

Volunteers introduced Amita and me to the students. There were approx. 60-70 students, majority were girls there. Amita started the event with her talk on “Women in Open Source“. She explained about what is Fedora Women’s day, some myths and facts about women. She also mentioned about initiatives driven for involvement of women in open source. It was very inspiring session.

Click to view slideshow.

After her talk, I took the stage starting with session on “Contributing to Fedora” where I explained about how one can get involved in Fedora, how fedora is organized, opportunities in Fedora and also showed the most fascinating site http://whatcanidoforfedora.org/.

I continued the session with another interesting topic  Fedora Loves Python. The number of students were already aware about basics of python so I moved over showing some real time examples of web applications and science stuff with python. It was an interactive session and I was amazed by the response got from students. The students were enthusiastic about exploring the power of python.

Click to view slideshow.

It was 5:00 PM when I end my talk. I was happy to see students asking the various questions and quite eager to learn more. The number of students showed interest to be part of Fedora community as well.

The last and an important part of event was to collect feedback from everyone so that we can improve us and also we can get in touch with students interested in contributing to Fedora after the event. I am glad to share that students like it very much and number of them wants us to follow their progress over the year.

IMG-20190928-WA0027_3

At the end of the event, everyone joined us for cake cutting.

Click to view slideshow.

I would like to thanks to Ashutosh Bhakare for coordinating with us and college management for doing all the event arrangements and obviously thanks to Fedora as well for making it happen 🙂

Looking forward to see another great Fedora Women’s Day next year.

 

 

IMG-20190928-WA0007_2
nikhilkathole2683
IMG_20190928_150703_2
IMG-20190928-WA0027_3
http://nikhilkathole.wordpress.com/?p=367
Extensions
Ansible and Foreman – Collaborative Meetup
Uncategorized
Foreman has nice integration with Ansible, allowing organizations to run playbooks against the hierarchy and groups of servers defined in Foreman. Additionally, AWX can dynamically update its inventories with hosts and their updated facts from Foreman at anytime and much more. Keeping this in mind and to make people aware about Foreman, Ansible and AWX... Continue Reading →
Show full content

Foreman has nice integration with Ansible, allowing organizations to run playbooks against the hierarchy and groups of servers defined in Foreman. Additionally, AWX can dynamically update its inventories with hosts and their updated facts from Foreman at anytime and much more.

Keeping this in mind and to make people aware about Foreman, Ansible and AWX integration, this time, we decided to do a collaborative meetup between Ansible and Foreman.

It was planned on 29th June 2019 at Tavisca Solutions Pvt. Ltd. Ompragash came up with meetup agenda covering all products starting with Ansible, Foreman, ManageIQ, AWX and finally integration between them.

IMG_20190711_095604

The day kicked-off with “Introduction to Ansible” by Anandprakash Tandale. He started his presentation with “periodic table for DevOps” and explained importance of ansible in the world of automation. He also covered some introductory topic for those who were new-comers.

IMG_20190701_095128

After introduction to Ansible, it was time to get introduce to Foreman which was not aware to many attendees. It is always a challenge to explain everything what Foreman can do in a presentation, but, Amit and Kavita did great job explaining Foreman’s features and use-cases.

Click to view slideshow.

The sessions were quite interactive and audience was more eager to know about Foreman and Ansible integration.

IMG_20190711_095608.jpg

Before that, we had another product in the picture “ManageIQ“. The number of people came up with the query in the last ansible meetup about how ManageIQ and Foreman differs.

And this was the reason of including a session about “Introduction to ManageIQ” by Yadnyawalkya. He covered various features of ManageIQ and explained about some common functionalities in Foreman and ManageIQ and also the great difference between them.

IMG_20190711_105502 (1).jpg

Later, we had small break for snacks. In between, Ompragash showed demo around managing Windows like Linux via SSH using Ansible!!!

img_20190711_105428.jpg

After the break, Saurabh started with introduction to AWX and its features. This session over-viewed AWX and helped audience to set the base for next presentation.

And after being so patient for 4 hours… It was time for my talk and the last talk of meetup 🙂

This talk focuses on how Ansible, AWX and Foreman integrate with each other and what added value can the users get when using Ansible from Foreman.

I covered following topics in brief:

  • Foreman and prerequisites for Ansible
  • Deploying and using Ansible roles
  • Ansible rex templates
  • AWX
    • Dynamic inventory
    • Provisioning callbacks
  • Foreman-ansible-modules

Slides are available at Ansible integration with Foreman

IMG_20190701_095000

Overall, though the meetup turned out to be one of the long(approx 5 hours) meetup!! But talked about wide variety of industry use-cases and solution for problems! It was totally worth!

IMG_20190701_095022

Thanks to Ompragash and Abhijeet for organizing the meetup and Tavisca Solutions Pvt. Ltd for awesome venue, food and swags 🙂

#meetup_oembed .mu_clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }* html #meetup_oembed .mu_clearfix, *:first-child+html #meetup_oembed .mu_clearfix { zoom: 1; }#meetup_oembed { background:#eee;border:1px solid #ccc;padding:10px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;margin:0; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; }#meetup_oembed h3 { font-weight:normal; margin:0 0 10px; padding:0; line-height:26px; font-family:Georgia,Palatino,serif; font-size:24px }#meetup_oembed p { margin: 0 0 10px; padding:0; line-height:16px; }#meetup_oembed img { border:none; margin:0; padding:0; }#meetup_oembed a, #meetup_oembed a:visited, #meetup_oembed a:link { color: #1B76B3; text-decoration: none; cursor: hand; cursor: pointer; }#meetup_oembed a:hover { color: #1B76B3; text-decoration: underline; }#meetup_oembed a.mu_button { font-size:14px; -moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:2px solid #A7241D;color:white!important;text-decoration:none;background-color: #CA3E47; background-image: -moz-linear-gradient(top, #ca3e47, #a8252e); background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #a8252e), color-stop(1, #ca3e47));disvplay:inline-block;padding:5px 10px; }#meetup_oembed a.mu_button:hover { color: #fff!important; text-decoration: none; }#meetup_oembed .photo { width:50px; height:50px; overflow:hidden;background:#ccc;float:left;margin:0 5px 0 0;text-align:center;padding:1px; }#meetup_oembed .photo img { height:50px }#meetup_oembed .number { font-size:18px; }#meetup_oembed .thing { text-transform: uppercase; color: #555; } Foreman Pune meetup

Pune, IN
252 Members

Foreman is a complete lifecycle management tool for physical and virtual servers. It gives system administrators the power to easily automate repetitive tasks, quickly deploy …

Check out this Meetup Group →

 

#meetup_oembed .mu_clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }* html #meetup_oembed .mu_clearfix, *:first-child+html #meetup_oembed .mu_clearfix { zoom: 1; }#meetup_oembed { background:#eee;border:1px solid #ccc;padding:10px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;margin:0; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; }#meetup_oembed h3 { font-weight:normal; margin:0 0 10px; padding:0; line-height:26px; font-family:Georgia,Palatino,serif; font-size:24px }#meetup_oembed p { margin: 0 0 10px; padding:0; line-height:16px; }#meetup_oembed img { border:none; margin:0; padding:0; }#meetup_oembed a, #meetup_oembed a:visited, #meetup_oembed a:link { color: #1B76B3; text-decoration: none; cursor: hand; cursor: pointer; }#meetup_oembed a:hover { color: #1B76B3; text-decoration: underline; }#meetup_oembed a.mu_button { font-size:14px; -moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;border:2px solid #A7241D;color:white!important;text-decoration:none;background-color: #CA3E47; background-image: -moz-linear-gradient(top, #ca3e47, #a8252e); background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #a8252e), color-stop(1, #ca3e47));disvplay:inline-block;padding:5px 10px; }#meetup_oembed a.mu_button:hover { color: #fff!important; text-decoration: none; }#meetup_oembed .photo { width:50px; height:50px; overflow:hidden;background:#ccc;float:left;margin:0 5px 0 0;text-align:center;padding:1px; }#meetup_oembed .photo img { height:50px }#meetup_oembed .number { font-size:18px; }#meetup_oembed .thing { text-transform: uppercase; color: #555; } Ansible Pune Meetup – June 2019

Saturday, Jun 29, 2019, 10:00 AM

Tavisca Solutions Pvt. Ltd
1st Floor, B Block Pune, al

135 Ansiblers Went

**NOTE** This is a free event. You only need to do RSVP to attend this meetup. This is a combined meetup event with Foreman Pune Group where we’ll discuss on some challenges faced in industry and how to overcome those with a solution using Free Opensource Tools. Agenda is as follows: —————————– 10:00 A.M. – 11:00 A.M. > “Introduc…

Check out this Meetup →

screenshot_2019-07-07-abhijeet-pyro46-twitter
nikhilkathole2683
IMG_20190711_095604
IMG_20190701_095128
IMG_20190711_095608.jpg
IMG_20190711_105502 (1).jpg
img_20190711_105428.jpg
IMG_20190701_095000
IMG_20190701_095022
http://nikhilkathole.wordpress.com/?p=332
Extensions