Skip to content

Dynamic Margin Calculation (DMC) - Basic configuration #519

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ http://localhost:5029/swagger-ui.html // explore-server
http://localhost:5036/swagger-ui.html // dynamic-mapping-server
http://localhost:5032/swagger-ui.html // dynamic-simulation-server
http://localhost:5040/swagger-ui.html // dynamic-security-analysis-server
http://localhost:5040/swagger-ui.html // dynamic-margin-calculation-server
http://localhost:5027/swagger-ui.html // filter-server
http://localhost:5033/swagger-ui.html // user-admin-server
http://localhost:5034/swagger-ui.html // user-identity-server
Expand Down Expand Up @@ -412,6 +413,7 @@ http://<INGRESS_HOST>/config-server/swagger-ui.html
http://<INGRESS_HOST>/directory-server/swagger-ui.html
http://<INGRESS_HOST>/dynamic-simulation-server/swagger-ui.html
http://<INGRESS_HOST>/dynamic-security-analysis-server/swagger-ui.html
http://<INGRESS_HOST>/dynamic-margin-calculation-server/swagger-ui.html
http://<INGRESS_HOST>/filter-server/swagger-ui.html
http://<INGRESS_HOST>/report-server/swagger-ui.html
http://<INGRESS_HOST>/user-admin-server/swagger-ui.html
Expand Down
24 changes: 24 additions & 0 deletions docker-compose/study/docker-compose.override.yml
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,30 @@ services:
limits:
memory: 1792m

dynamic-margin-calculation-server:
profiles:
- all
- suite
- dynamic-simulation
image: gridsuite/dynamic-margin-calculation-server:latest
ports:
- 5040:80
volumes:
- $PWD/../../k8s/resources/study/config/dynamic-margin-calculation-server-application.yml:/config/specific/application.yml:Z
- $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
- $PWD/../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z
restart: unless-stopped
environment:
- JAVA_TOOL_OPTIONS=-Xmx768m
command: --server.port=80 --spring.config.additional-location=/config/
sysctls:
- net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0
memswap_limit: 1792m
deploy:
resources:
limits:
memory: 1792m

directory-server:
profiles:
- all
Expand Down
2 changes: 2 additions & 0 deletions k8s/live/azure-integ/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ images:
digest: a3725c2bfde5d8828aad59e97b6b9c05142700c003da08781a3a044a6bae7096
- name: docker.io/gridsuite/dynamic-security-analysis-server
digest: b60c91d32c50bccf1f80722e9273c8cce0b8358738dcafa8d70cd754e9d451e0
# - name: docker.io/gridsuite/dynamic-margin-calculation-server
# digest: b60c91d32c50bccf1f80722e9273c8cce0b8358738dcafa8d70cd754e9d451e0 // to fill from docker hub
- name: docker.io/gridsuite/gateway
digest: 7a9d09c6a5125d6303b305cb6002194cc6821e6fca07fe30433b53e2519b0ad6
- name: docker.io/gridsuite/geo-data-server
Expand Down
37 changes: 37 additions & 0 deletions k8s/live/local/dynamic-margin-calculation-server-ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dynamic-margin-calculation-server-ingress
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
# our containers host at '/' so can't possibly make a difference between
# '/XXX/' and '/XXX' (trailing slash) (which would respectively become
# '/' and '' inside the container but an empty path doesn't exist in http)
# so always redirect '/XXX' to '/XXX/' in the client outside the container
rewrite ^/dynamic-margin-calculation-server$ /dynamic-margin-calculation-server/ permanent;

# springfox swagger-ui uses X-Forwarded-Prefix to find the
# base url when behind a reverse proxy.
# nginx-ingress-controller has an annotation to do the same thing
# (nginx.ingress.kubernetes.io/x-forwarded-prefix)
# but it only works when using rewrite-target, which we can't use because
# we have properly encoded slashs in urls
proxy_set_header X-Forwarded-Prefix /dynamic-margin-calculation-server/;

# using this instead of standard rewrite as a workaround to avoid decoding slashes in urls
# we sometimes have ids in the urls that contain properly encoded slashes
if ($request_uri ~ "^/dynamic-margin-calculation-server(/.*)") {
proxy_pass http://upstream_balancer$1;
break;
}
spec:
rules:
- http:
paths:
- path: /dynamic-margin-calculation-server(/|$)
pathType: Prefix
backend:
service:
name: dynamic-margin-calculation-server
port:
number: 80
1 change: 1 addition & 0 deletions k8s/live/local/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ resources:
- config-notification-server-ingress.yaml
- dynamic-simulation-server-ingress.yaml
- dynamic-security-analysis-server-ingress.yaml
- dynamic-margin-calculation-server-ingress.yaml
- directory-server-ingress.yaml
- explore-server-ingress.yaml
- external-postgres-service.yaml
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: dynamic-margin-calculation-server
labels:
name: dynamic-margin-calculation-server
version: "1"
app.kubernetes.io/component: gridsuite-springboot
gridsuite.org/springboot-with-database: "true"
annotations:
gridsuite.org/size: springboot-l-forking
spec:
selector:
matchLabels:
name: dynamic-margin-calculation-server
template:
metadata:
labels:
name: dynamic-margin-calculation-server
spec:
containers:
- name: main
image: docker.io/gridsuite/dynamic-margin-calculation-server:latest
volumeMounts:
- mountPath: /config/specific
name: dynamic-margin-calculation-server-configmap-specific-volume
- mountPath: /home/powsybl/.itools
name: dynawo-itools-configmap-volume
volumes:
- name: dynamic-margin-calculation-server-configmap-specific-volume
configMap:
name: dynamic-margin-calculation-server-configmap-specific
- name: dynawo-itools-configmap-volume
configMap:
name: dynawo-itools-configmap
10 changes: 10 additions & 0 deletions k8s/resources/study/dynamic-margin-calculation-server-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
kind: Service
metadata:
labels:
name: dynamic-margin-calculation-server
app.kubernetes.io/component: gridsuite-springboot
name: dynamic-margin-calculation-server
spec:
selector:
name: dynamic-margin-calculation-server
6 changes: 4 additions & 2 deletions k8s/resources/study/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ resources:
- dynamic-simulation-server-service.yaml
- dynamic-security-analysis-server-deployment.yaml
- dynamic-security-analysis-server-service.yaml
- dynamic-margin-calculation-server-deployment.yaml
- dynamic-margin-calculation-server-service.yaml
- directory-server-deployment.yaml
- directory-server-service.yaml
- explore-server-deployment.yaml
Expand Down Expand Up @@ -87,9 +89,9 @@ configMapGenerator:
- name: dynamic-simulation-server-configmap-specific
files:
- application.yml=config/dynamic-simulation-server-application.yml
- name: dynamic-security-analysis-server-configmap-specific
- name: dynamic-margin-calculation-server-configmap-specific
files:
- application.yml=config/dynamic-security-analysis-server-application.yml
- application.yml=config/dynamic-margin-calculation-server-application.yml
- name: dynawo-itools-configmap
files:
- config.yml=config/dynawo-itools-config.yml
Expand Down