Fix loading env file (#1679)

* fix: update loading 'env_file' of docker_compose

Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>

* test: add functional tests for loading env_file

Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>

---------

Signed-off-by: AhmedGrati <ahmedgrati1999@gmail.com>
This commit is contained in:
AhmedGrati
2023-07-26 14:03:15 -04:00
committed by GitHub
parent 2c3f2939d4
commit 1f1fc20204
44 changed files with 527 additions and 612 deletions
+2 -4
View File
@@ -2,16 +2,14 @@ version: '3'
services:
namenode:
image: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
volumes:
- namenode:/hadoop/dfs/name
environment:
- CLUSTER_NAME=test
env_file:
- ./hadoop-hive-namenode.env
- hadoop-hive-namenode.env
ports:
- "50070:50070"
- "8020:8020"
another-namenode:
image: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
env_file:
- ./hadoop-hive-namenode.env
- hadoop-hive-namenode.env
-246
View File
@@ -1,246 +0,0 @@
{
"kind": "List",
"apiVersion": "v1",
"metadata": {},
"items": [
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
},
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
}
},
"spec": {
"ports": [
{
"name": "50070",
"port": 50070,
"targetPort": 50070
},
{
"name": "8020",
"port": 8020,
"targetPort": 8020
}
],
"selector": {
"io.kompose.service": "namenode"
}
},
"status": {
"loadBalancer": {}
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
},
"creationTimestamp": null,
"labels": {
"io.kompose.service": "another-namenode"
},
"name": "another-namenode"
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"io.kompose.service": "another-namenode"
}
},
"strategy": {},
"template": {
"metadata": {
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
},
"creationTimestamp": null,
"labels": {
"io.kompose.service": "another-namenode"
}
},
"spec": {
"containers": [
{
"env": [
{
"name": "BAR",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "BAR"
}
}
},
{
"name": "FOO",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "FOO"
}
}
}
],
"image": "bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8",
"imagePullPolicy": "",
"name": "another-namenode",
"resources": {}
}
],
"restartPolicy": "Always",
"serviceAccountName": "",
"volumes": null
}
}
},
"status": {}
},
{
"kind": "ConfigMap",
"apiVersion": "v1",
"metadata": {
"name": "hadoop-hive-namenode-env",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "another-namenode-hadoop-hive-namenode-env"
}
},
"data": {
"BAR": "FOO",
"FOO": "BAR"
}
},
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
},
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
},
"name": "namenode"
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"io.kompose.service": "namenode"
}
},
"strategy": {
"type": "Recreate"
},
"template": {
"metadata": {
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
},
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
}
},
"spec": {
"containers": [
{
"env": [
{
"name": "BAR",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "BAR"
}
}
},
{
"name": "CLUSTER_NAME",
"value": "test"
},
{
"name": "FOO",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "FOO"
}
}
}
],
"image": "bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8",
"imagePullPolicy": "",
"name": "namenode",
"ports": [
{
"containerPort": 50070
},
{
"containerPort": 8020
}
],
"resources": {},
"volumeMounts": [
{
"mountPath": "/hadoop/dfs/name",
"name": "namenode"
}
]
}
],
"restartPolicy": "Always",
"serviceAccountName": "",
"volumes": [
{
"name": "namenode",
"persistentVolumeClaim": {
"claimName": "namenode"
}
}
]
}
}
},
"status": {}
},
{
"kind": "PersistentVolumeClaim",
"apiVersion": "v1",
"metadata": {
"name": "namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "100Mi"
}
}
},
"status": {}
}
]
}
+124
View File
@@ -0,0 +1,124 @@
---
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
io.kompose.service: namenode
name: namenode
namespace: default
spec:
ports:
- name: "50070"
port: 50070
targetPort: 50070
- name: "8020"
port: 8020
targetPort: 8020
selector:
io.kompose.service: namenode
status:
loadBalancer: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
io.kompose.service: another-namenode
name: another-namenode
namespace: default
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: another-namenode
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.network/env-default: "true"
io.kompose.service: another-namenode
spec:
containers:
- env:
- name: BAR
valueFrom:
configMapKeyRef:
key: BAR
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
- name: FOO
valueFrom:
configMapKeyRef:
key: FOO
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
image: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
name: another-namenode
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: v1
data:
BAR: FOO
FOO: BAR
kind: ConfigMap
metadata:
creationTimestamp: null
labels:
io.kompose.service: another-namenode-home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
namespace: default
---
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
io.kompose.service: namenode
name: namenode
namespace: default
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: namenode
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.network/env-default: "true"
io.kompose.service: namenode
spec:
containers:
- env:
- name: BAR
valueFrom:
configMapKeyRef:
key: BAR
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
- name: CLUSTER_NAME
value: test
- name: FOO
valueFrom:
configMapKeyRef:
key: FOO
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
image: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
name: namenode
ports:
- containerPort: 50070
hostPort: 50070
protocol: TCP
- containerPort: 8020
hostPort: 8020
protocol: TCP
resources: {}
restartPolicy: Always
status: {}
-326
View File
@@ -1,326 +0,0 @@
{
"kind": "List",
"apiVersion": "v1",
"metadata": {},
"items": [
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
},
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
}
},
"spec": {
"ports": [
{
"name": "50070",
"port": 50070,
"targetPort": 50070
},
{
"name": "8020",
"port": 8020,
"targetPort": 8020
}
],
"selector": {
"io.kompose.service": "namenode"
}
},
"status": {
"loadBalancer": {}
}
},
{
"kind": "ConfigMap",
"apiVersion": "v1",
"metadata": {
"name": "hadoop-hive-namenode-env",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "another-namenode-hadoop-hive-namenode-env"
}
},
"data": {
"BAR": "FOO",
"FOO": "BAR"
}
},
{
"kind": "DeploymentConfig",
"apiVersion": "v1",
"metadata": {
"name": "another-namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "another-namenode"
},
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
}
},
"spec": {
"strategy": {
"resources": {}
},
"triggers": [
{
"type": "ConfigChange"
},
{
"type": "ImageChange",
"imageChangeParams": {
"automatic": true,
"containerNames": [
"another-namenode"
],
"from": {
"kind": "ImageStreamTag",
"name": "another-namenode:2.0.0-hadoop2.7.4-java8"
}
}
}
],
"replicas": 1,
"test": false,
"selector": {
"io.kompose.service": "another-namenode"
},
"template": {
"metadata": {
"creationTimestamp": null,
"labels": {
"io.kompose.service": "another-namenode"
}
},
"spec": {
"containers": [
{
"name": "another-namenode",
"image": " ",
"env": [
{
"name": "BAR",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "BAR"
}
}
},
{
"name": "FOO",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "FOO"
}
}
}
],
"resources": {}
}
],
"restartPolicy": "Always"
}
}
},
"status": {}
},
{
"kind": "ImageStream",
"apiVersion": "v1",
"metadata": {
"name": "another-namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "another-namenode"
}
},
"spec": {
"tags": [
{
"name": "2.0.0-hadoop2.7.4-java8",
"annotations": null,
"from": {
"kind": "DockerImage",
"name": "bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8"
},
"generation": null,
"importPolicy": {}
}
]
},
"status": {
"dockerImageRepository": ""
}
},
{
"kind": "DeploymentConfig",
"apiVersion": "v1",
"metadata": {
"name": "namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
},
"annotations": {
"kompose.cmd": "%CMD%",
"kompose.version": "%VERSION%"
}
},
"spec": {
"strategy": {
"type": "Recreate",
"resources": {}
},
"triggers": [
{
"type": "ConfigChange"
},
{
"type": "ImageChange",
"imageChangeParams": {
"automatic": true,
"containerNames": [
"namenode"
],
"from": {
"kind": "ImageStreamTag",
"name": "namenode:2.0.0-hadoop2.7.4-java8"
}
}
}
],
"replicas": 1,
"test": false,
"selector": {
"io.kompose.service": "namenode"
},
"template": {
"metadata": {
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
}
},
"spec": {
"volumes": [
{
"name": "namenode",
"persistentVolumeClaim": {
"claimName": "namenode"
}
}
],
"containers": [
{
"name": "namenode",
"image": " ",
"ports": [
{
"containerPort": 50070
},
{
"containerPort": 8020
}
],
"env": [
{
"name": "BAR",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "BAR"
}
}
},
{
"name": "CLUSTER_NAME",
"value": "test"
},
{
"name": "FOO",
"valueFrom": {
"configMapKeyRef": {
"name": "hadoop-hive-namenode-env",
"key": "FOO"
}
}
}
],
"resources": {},
"volumeMounts": [
{
"name": "namenode",
"mountPath": "/hadoop/dfs/name"
}
]
}
],
"restartPolicy": "Always"
}
}
},
"status": {}
},
{
"kind": "ImageStream",
"apiVersion": "v1",
"metadata": {
"name": "namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
}
},
"spec": {
"tags": [
{
"name": "2.0.0-hadoop2.7.4-java8",
"annotations": null,
"from": {
"kind": "DockerImage",
"name": "bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8"
},
"generation": null,
"importPolicy": {}
}
]
},
"status": {
"dockerImageRepository": ""
}
},
{
"kind": "PersistentVolumeClaim",
"apiVersion": "v1",
"metadata": {
"name": "namenode",
"creationTimestamp": null,
"labels": {
"io.kompose.service": "namenode"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "100Mi"
}
}
},
"status": {}
}
]
}
+208
View File
@@ -0,0 +1,208 @@
---
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
io.kompose.service: namenode
name: namenode
namespace: default
spec:
ports:
- name: "50070"
port: 50070
targetPort: 50070
- name: "8020"
port: 8020
targetPort: 8020
selector:
io.kompose.service: namenode
status:
loadBalancer: {}
---
apiVersion: v1
data:
BAR: FOO
FOO: BAR
kind: ConfigMap
metadata:
creationTimestamp: null
labels:
io.kompose.service: another-namenode-home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
namespace: default
---
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
creationTimestamp: null
labels:
io.kompose.service: another-namenode
name: another-namenode
namespace: default
spec:
replicas: 1
selector:
io.kompose.service: another-namenode
strategy:
resources: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.network/env-default: "true"
io.kompose.service: another-namenode
spec:
containers:
- env:
- name: BAR
valueFrom:
configMapKeyRef:
key: BAR
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
- name: FOO
valueFrom:
configMapKeyRef:
key: FOO
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
image: ' '
name: another-namenode
resources: {}
restartPolicy: Always
test: false
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- another-namenode
from:
kind: ImageStreamTag
name: another-namenode:2.0.0-hadoop2.7.4-java8
type: ImageChange
status:
availableReplicas: 0
latestVersion: 0
observedGeneration: 0
replicas: 0
unavailableReplicas: 0
updatedReplicas: 0
---
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
creationTimestamp: null
labels:
io.kompose.service: another-namenode
name: another-namenode
namespace: default
spec:
lookupPolicy:
local: false
tags:
- annotations: null
from:
kind: DockerImage
name: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
generation: null
importPolicy: {}
name: 2.0.0-hadoop2.7.4-java8
referencePolicy:
type: ""
status:
dockerImageRepository: ""
---
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
creationTimestamp: null
labels:
io.kompose.service: namenode
name: namenode
namespace: default
spec:
replicas: 1
selector:
io.kompose.service: namenode
strategy:
resources: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.network/env-default: "true"
io.kompose.service: namenode
spec:
containers:
- env:
- name: BAR
valueFrom:
configMapKeyRef:
key: BAR
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
- name: CLUSTER_NAME
value: test
- name: FOO
valueFrom:
configMapKeyRef:
key: FOO
name: home-runner-work-kompose-kompose-script-test-fixtures-env-hadoop-hive-namenode-env
image: ' '
name: namenode
ports:
- containerPort: 50070
hostPort: 50070
protocol: TCP
- containerPort: 8020
hostPort: 8020
protocol: TCP
resources: {}
restartPolicy: Always
test: false
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- namenode
from:
kind: ImageStreamTag
name: namenode:2.0.0-hadoop2.7.4-java8
type: ImageChange
status:
availableReplicas: 0
latestVersion: 0
observedGeneration: 0
replicas: 0
unavailableReplicas: 0
updatedReplicas: 0
---
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
creationTimestamp: null
labels:
io.kompose.service: namenode
name: namenode
namespace: default
spec:
lookupPolicy:
local: false
tags:
- annotations: null
from:
kind: DockerImage
name: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
generation: null
importPolicy: {}
name: 2.0.0-hadoop2.7.4-java8
referencePolicy:
type: ""
status:
dockerImageRepository: ""