openstack-k8s-operators / heat-operator Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.
Error type: Cannot find preset's package (github>openstack-k8s-operators/renovate-config)
Issue
Need to implement logic for the Heat API service.
Description
We have three Controllers defined in this project. The underlying Heat Controller handles the DB sync / manage operations, and takes overrides for heat.conf
. We need to implement the next Controller for the API service.
Ideally, this would be responsible for creating a deployment of the Heat API container. Additionally, it should allow for scaling of Heat API independent to Heat engine.
We can probably re-use some of the logic used for other API controllers. eg:
https://github.com/openstack-k8s-operators/ironic-operator/blob/master/controllers/ironicapi_controller.go#L106
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are awaiting their schedule. Click on a checkbox to get an update now.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
api/go.mod
github.com/openstack-k8s-operators/lib-common/modules/common v0.3.1-0.20240429052447-09a614506ca6@09a614506ca6
k8s.io/api v0.28.9
k8s.io/apimachinery v0.28.9
sigs.k8s.io/controller-runtime v0.16.5
github.com/go-logr/logr v1.4.1
k8s.io/apiextensions-apiserver v0.28.9
k8s.io/client-go v0.28.9
k8s.io/component-base v0.28.9
k8s.io/klog/v2 v2.120.1
k8s.io/utils v0.0.0-20240423183400-0849a56e8f22@0849a56e8f22
go.mod
github.com/go-logr/logr v1.4.1
github.com/google/uuid v1.6.0
github.com/onsi/ginkgo/v2 v2.17.2
github.com/onsi/gomega v1.33.0
github.com/openstack-k8s-operators/infra-operator/apis v0.3.1-0.20240429104248-25176c735750@25176c735750
github.com/openstack-k8s-operators/keystone-operator/api v0.3.1-0.20240429164853-7e1e3b111ee9@7e1e3b111ee9
github.com/openstack-k8s-operators/lib-common/modules/common v0.3.1-0.20240429052447-09a614506ca6@09a614506ca6
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.3.1-0.20240429052447-09a614506ca6@09a614506ca6
github.com/openstack-k8s-operators/lib-common/modules/test v0.3.1-0.20240429052447-09a614506ca6@09a614506ca6
github.com/openstack-k8s-operators/mariadb-operator/api v0.3.1-0.20240429121622-952f44520872@952f44520872
k8s.io/api v0.28.9
k8s.io/apimachinery v0.28.9
k8s.io/client-go v0.28.9
k8s.io/utils v0.0.0-20240423183400-0849a56e8f22@0849a56e8f22
sigs.k8s.io/controller-runtime v0.16.5
github.com/k8snetworkplumbingwg/network-attachment-definition-client v1.4.0
go.uber.org/zap v1.27.0
k8s.io/apiextensions-apiserver v0.28.9
k8s.io/component-base v0.28.9
k8s.io/klog/v2 v2.120.1
Issue
Need to implement logic for the Heat Engine service.
Description
We have three Controllers defined in this project. The underlying Heat Controller handles the DB sync / manage operations, and takes overrides for heat.conf. We need to implement the next Controller for the Engine service.
Ideally, this would be responsible for creating a deployment of the Heat Engine container. Additionally, it should allow for scaling of Heat Engine independent to Heat engine.
Considerations
This needs some additional thought. Considering we currently scale Heat engine workers using the num_engine_workers
config option:
https://docs.openstack.org/heat/zed/configuration/sample_config.html
# Number of heat-engine processes to fork and run. Will default to either to 4
# or number of CPUs on the host, whichever is greater. (integer value)
#num_engine_workers = <None>
However, this would scale threads within the initial heat-engine container. The question and design consideration here is:
Do we just want to stick with this method?
Do we want to scale the number of pods and expose an option via the Heat CRD?
Do we want a combination of both?
This option isn't overly k8s friendly, given that we're launching new threads within a container, it doesn't give additional visibility via the kube API. But, it does maintain the current design expectation implemented by Heat and may be less complicated.
This option would provide the users with visible feedback via the kube API, as we would be scaling a ReplicaSet and the additional pods could be seen. However, this would inevitebly result in higher resource consumption as we need to run entire containers to do this. It would also possibly create confusion for users if the num_engine_workers
was set to 24 within heat.conf
. We would have $n replicas with 24 heat-engine processes in each.
Do we set a low default for num_engine_workers
in heat.conf
and primarily lean on scaling within k8s?
We can probably re-use some of the logic used for other controllers. eg:
https://github.com/openstack-k8s-operators/ironic-operator/blob/master/controllers/ironicconductor_controller.go#L94
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.