[
https://issues.apache.org/jira/browse/HDDS-11590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17948898#comment-17948898
]
Shih-Chieh Weng edited comment on HDDS-11590 at 5/2/25 12:43 PM:
-----------------------------------------------------------------
Encounter some issues might relate to that
h2. when I run below command in the path:
*/hadoop-ozone/dist/target/ozone-2.1.0-SNAPSHOT/compose/ozone*
h3. *1. $ ../test-single.sh ozone_s3g_1 s3/objecthead.robot* -> will have below
issue
{code:java}
Using Docker Compose v2
unknown flag: --progress
unknown flag: --progress
must specify at least one container source
unknown flag: --progress
/var/folders/23/ww8_71vx2yq6f6nbfjr3g0680000gn/T//robot-data-PvhHeh {code}
h3. 2. After remove
{code:java}
--progress quiet {code}
from
{*}hadoop-ozone/dist/target/ozone-2.1.0-SNAPSHOT/compose/compose_v2_compatibility.sh{*},
and execute
*$ ../test-single.sh ozone_s3g_1 s3/objecthead.robot*
will have below issue
{code:java}
Using Docker Compose v2
unexpected character "-" in variable name near
"CORE-SITE.XML_fs.defaultFS=ofs://om\nCORE-SITE.XML_fs.trash.interval=1\n# For
HttpFS service it is required to enable proxying
users.\nCORE-SITE.XML_hadoop.proxyuser.hadoop.hosts=*\nCORE-SITE.XML_hadoop.proxyuser.hadoop.groups=*\n\nOZONE-SITE.XML_ozone.om.address=om\nOZONE-SITE.XML_ozone.om.http-address=om:9874\nOZONE-SITE.XML_ozone.scm.http-address=scm:9876\nOZONE-SITE.XML_ozone.scm.container.size=1GB\nOZONE-SITE.XML_ozone.scm.block.size=1MB\nOZONE-SITE.XML_ozone.scm.datanode.ratis.volume.free-space.min=10MB\nOZONE-SITE.XML_ozone.scm.pipeline.creation.interval=30s\nOZONE-SITE.XML_ozone.scm.pipeline.owner.container.count=1\nOZONE-SITE.XML_ozone.scm.names=scm\nOZONE-SITE.XML_ozone.scm.datanode.id.dir=/data/metadata\nOZONE-SITE.XML_ozone.scm.block.client.address=scm\nOZONE-SITE.XML_ozone.metadata.dirs=/data/metadata\nOZONE-SITE.XML_ozone.recon.db.dir=/data/metadata/recon\nOZONE-SITE.XML_ozone.scm.client.address=scm\nOZONE-SITE.XML_hdds.datanode.dir=/data/hdds\nOZONE-SITE.XML_hdds.datanode.volume.min.free.space=100MB\nOZONE-SITE.XML_ozone.recon.address=recon:9891\nOZONE-SITE.XML_ozone.recon.http-address=0.0.0.0:9888\nOZONE-SITE.XML_ozone.recon.https-address=0.0.0.0:9889\nOZONE-SITE.XML_ozone.recon.om.snapshot.task.interval.delay=1m\nOZONE-SITE.XML_ozone.datanode.pipeline.limit=1\nOZONE-SITE.XML_hdds.scmclient.max.retry.timeout=30s\nOZONE-SITE.XML_hdds.container.report.interval=60s\nOZONE-SITE.XML_ozone.scm.stale.node.interval=30s\nOZONE-SITE.XML_ozone.scm.dead.node.interval=45s\nOZONE-SITE.XML_hdds.heartbeat.interval=5s\nOZONE-SITE.XML_ozone.scm.close.container.wait.duration=5s\nOZONE-SITE.XML_hdds.scm.replication.thread.interval=15s\nOZONE-SITE.XML_hdds.scm.replication.under.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.replication.over.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.wait.time.after.safemode.exit=30s\nOZONE-SITE.XML_ozone.http.basedir=/tmp/ozone_http\n\nOZONE-SITE.XML_hdds.container.ratis.datastream.enabled=true\n\nOZONE-SITE.XML_ozone.fs.hsync.enabled=true\n\nOZONE_CONF_DIR=/etc/hadoop\nOZONE_LOG_DIR=/var/log/hadoop\n\nno_proxy=om,scm,s3g,recon,kdc,localhost,127.0.0.1\n\n#
Explicitly enable filesystem snapshot feature for this Docker compose
cluster\nOZONE-SITE.XML_ozone.filesystem.snapshot.enabled=true\n"
unexpected character "-" in variable name near
"CORE-SITE.XML_fs.defaultFS=ofs://om\nCORE-SITE.XML_fs.trash.interval=1\n# For
HttpFS service it is required to enable proxying
users.\nCORE-SITE.XML_hadoop.proxyuser.hadoop.hosts=*\nCORE-SITE.XML_hadoop.proxyuser.hadoop.groups=*\n\nOZONE-SITE.XML_ozone.om.address=om\nOZONE-SITE.XML_ozone.om.http-address=om:9874\nOZONE-SITE.XML_ozone.scm.http-address=scm:9876\nOZONE-SITE.XML_ozone.scm.container.size=1GB\nOZONE-SITE.XML_ozone.scm.block.size=1MB\nOZONE-SITE.XML_ozone.scm.datanode.ratis.volume.free-space.min=10MB\nOZONE-SITE.XML_ozone.scm.pipeline.creation.interval=30s\nOZONE-SITE.XML_ozone.scm.pipeline.owner.container.count=1\nOZONE-SITE.XML_ozone.scm.names=scm\nOZONE-SITE.XML_ozone.scm.datanode.id.dir=/data/metadata\nOZONE-SITE.XML_ozone.scm.block.client.address=scm\nOZONE-SITE.XML_ozone.metadata.dirs=/data/metadata\nOZONE-SITE.XML_ozone.recon.db.dir=/data/metadata/recon\nOZONE-SITE.XML_ozone.scm.client.address=scm\nOZONE-SITE.XML_hdds.datanode.dir=/data/hdds\nOZONE-SITE.XML_hdds.datanode.volume.min.free.space=100MB\nOZONE-SITE.XML_ozone.recon.address=recon:9891\nOZONE-SITE.XML_ozone.recon.http-address=0.0.0.0:9888\nOZONE-SITE.XML_ozone.recon.https-address=0.0.0.0:9889\nOZONE-SITE.XML_ozone.recon.om.snapshot.task.interval.delay=1m\nOZONE-SITE.XML_ozone.datanode.pipeline.limit=1\nOZONE-SITE.XML_hdds.scmclient.max.retry.timeout=30s\nOZONE-SITE.XML_hdds.container.report.interval=60s\nOZONE-SITE.XML_ozone.scm.stale.node.interval=30s\nOZONE-SITE.XML_ozone.scm.dead.node.interval=45s\nOZONE-SITE.XML_hdds.heartbeat.interval=5s\nOZONE-SITE.XML_ozone.scm.close.container.wait.duration=5s\nOZONE-SITE.XML_hdds.scm.replication.thread.interval=15s\nOZONE-SITE.XML_hdds.scm.replication.under.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.replication.over.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.wait.time.after.safemode.exit=30s\nOZONE-SITE.XML_ozone.http.basedir=/tmp/ozone_http\n\nOZONE-SITE.XML_hdds.container.ratis.datastream.enabled=true\n\nOZONE-SITE.XML_ozone.fs.hsync.enabled=true\n\nOZONE_CONF_DIR=/etc/hadoop\nOZONE_LOG_DIR=/var/log/hadoop\n\nno_proxy=om,scm,s3g,recon,kdc,localhost,127.0.0.1\n\n#
Explicitly enable filesystem snapshot feature for this Docker compose
cluster\nOZONE-SITE.XML_ozone.filesystem.snapshot.enabled=true\n"
must specify at least one container source
unexpected character "-" in variable name near
"CORE-SITE.XML_fs.defaultFS=ofs://om\nCORE-SITE.XML_fs.trash.interval=1\n# For
HttpFS service it is required to enable proxying
users.\nCORE-SITE.XML_hadoop.proxyuser.hadoop.hosts=*\nCORE-SITE.XML_hadoop.proxyuser.hadoop.groups=*\n\nOZONE-SITE.XML_ozone.om.address=om\nOZONE-SITE.XML_ozone.om.http-address=om:9874\nOZONE-SITE.XML_ozone.scm.http-address=scm:9876\nOZONE-SITE.XML_ozone.scm.container.size=1GB\nOZONE-SITE.XML_ozone.scm.block.size=1MB\nOZONE-SITE.XML_ozone.scm.datanode.ratis.volume.free-space.min=10MB\nOZONE-SITE.XML_ozone.scm.pipeline.creation.interval=30s\nOZONE-SITE.XML_ozone.scm.pipeline.owner.container.count=1\nOZONE-SITE.XML_ozone.scm.names=scm\nOZONE-SITE.XML_ozone.scm.datanode.id.dir=/data/metadata\nOZONE-SITE.XML_ozone.scm.block.client.address=scm\nOZONE-SITE.XML_ozone.metadata.dirs=/data/metadata\nOZONE-SITE.XML_ozone.recon.db.dir=/data/metadata/recon\nOZONE-SITE.XML_ozone.scm.client.address=scm\nOZONE-SITE.XML_hdds.datanode.dir=/data/hdds\nOZONE-SITE.XML_hdds.datanode.volume.min.free.space=100MB\nOZONE-SITE.XML_ozone.recon.address=recon:9891\nOZONE-SITE.XML_ozone.recon.http-address=0.0.0.0:9888\nOZONE-SITE.XML_ozone.recon.https-address=0.0.0.0:9889\nOZONE-SITE.XML_ozone.recon.om.snapshot.task.interval.delay=1m\nOZONE-SITE.XML_ozone.datanode.pipeline.limit=1\nOZONE-SITE.XML_hdds.scmclient.max.retry.timeout=30s\nOZONE-SITE.XML_hdds.container.report.interval=60s\nOZONE-SITE.XML_ozone.scm.stale.node.interval=30s\nOZONE-SITE.XML_ozone.scm.dead.node.interval=45s\nOZONE-SITE.XML_hdds.heartbeat.interval=5s\nOZONE-SITE.XML_ozone.scm.close.container.wait.duration=5s\nOZONE-SITE.XML_hdds.scm.replication.thread.interval=15s\nOZONE-SITE.XML_hdds.scm.replication.under.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.replication.over.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.wait.time.after.safemode.exit=30s\nOZONE-SITE.XML_ozone.http.basedir=/tmp/ozone_http\n\nOZONE-SITE.XML_hdds.container.ratis.datastream.enabled=true\n\nOZONE-SITE.XML_ozone.fs.hsync.enabled=true\n\nOZONE_CONF_DIR=/etc/hadoop\nOZONE_LOG_DIR=/var/log/hadoop\n\nno_proxy=om,scm,s3g,recon,kdc,localhost,127.0.0.1\n\n#
Explicitly enable filesystem snapshot feature for this Docker compose
cluster\nOZONE-SITE.XML_ozone.filesystem.snapshot.enabled=true\n"
/var/folders/23/ww8_71vx2yq6f6nbfjr3g0680000gn/T//robot-data-lDlcKG {code}
Some tools version for reference
$ docker-compose version
{code:java}
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020 {code}
$ docker compose version
{code:java}
Docker Compose version v2.0.0{code}
$ docker --version
{code:java}
Docker version 20.10.8, build 3967b7d{code}
was (Author: JIRAUSER308237):
Encounter some issues might relate to that
h2. when I run below command in the path:
*/hadoop-ozone/dist/target/ozone-2.1.0-SNAPSHOT/compose/ozone*
h3. *1. $ ../test-single.sh ozone_s3g_1 s3/objecthead.robot* -> will have below
issue
{code:java}
Using Docker Compose v2
unknown flag: --progress
unknown flag: --progress
must specify at least one container source
unknown flag: --progress
/var/folders/23/ww8_71vx2yq6f6nbfjr3g0680000gn/T//robot-data-PvhHeh {code}
h3. 2. After remove
{code:java}
--progress quiet {code}
from
{*}hadoop-ozone/dist/target/ozone-2.1.0-SNAPSHOT/compose/compose_v2_compatibility.sh{*},
and execute **
{code:java}
{code}
*$ ../test-single.sh ozone_s3g_1 s3/objecthead.robot*
will have below issue
{code:java}
Using Docker Compose v2
unexpected character "-" in variable name near
"CORE-SITE.XML_fs.defaultFS=ofs://om\nCORE-SITE.XML_fs.trash.interval=1\n# For
HttpFS service it is required to enable proxying
users.\nCORE-SITE.XML_hadoop.proxyuser.hadoop.hosts=*\nCORE-SITE.XML_hadoop.proxyuser.hadoop.groups=*\n\nOZONE-SITE.XML_ozone.om.address=om\nOZONE-SITE.XML_ozone.om.http-address=om:9874\nOZONE-SITE.XML_ozone.scm.http-address=scm:9876\nOZONE-SITE.XML_ozone.scm.container.size=1GB\nOZONE-SITE.XML_ozone.scm.block.size=1MB\nOZONE-SITE.XML_ozone.scm.datanode.ratis.volume.free-space.min=10MB\nOZONE-SITE.XML_ozone.scm.pipeline.creation.interval=30s\nOZONE-SITE.XML_ozone.scm.pipeline.owner.container.count=1\nOZONE-SITE.XML_ozone.scm.names=scm\nOZONE-SITE.XML_ozone.scm.datanode.id.dir=/data/metadata\nOZONE-SITE.XML_ozone.scm.block.client.address=scm\nOZONE-SITE.XML_ozone.metadata.dirs=/data/metadata\nOZONE-SITE.XML_ozone.recon.db.dir=/data/metadata/recon\nOZONE-SITE.XML_ozone.scm.client.address=scm\nOZONE-SITE.XML_hdds.datanode.dir=/data/hdds\nOZONE-SITE.XML_hdds.datanode.volume.min.free.space=100MB\nOZONE-SITE.XML_ozone.recon.address=recon:9891\nOZONE-SITE.XML_ozone.recon.http-address=0.0.0.0:9888\nOZONE-SITE.XML_ozone.recon.https-address=0.0.0.0:9889\nOZONE-SITE.XML_ozone.recon.om.snapshot.task.interval.delay=1m\nOZONE-SITE.XML_ozone.datanode.pipeline.limit=1\nOZONE-SITE.XML_hdds.scmclient.max.retry.timeout=30s\nOZONE-SITE.XML_hdds.container.report.interval=60s\nOZONE-SITE.XML_ozone.scm.stale.node.interval=30s\nOZONE-SITE.XML_ozone.scm.dead.node.interval=45s\nOZONE-SITE.XML_hdds.heartbeat.interval=5s\nOZONE-SITE.XML_ozone.scm.close.container.wait.duration=5s\nOZONE-SITE.XML_hdds.scm.replication.thread.interval=15s\nOZONE-SITE.XML_hdds.scm.replication.under.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.replication.over.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.wait.time.after.safemode.exit=30s\nOZONE-SITE.XML_ozone.http.basedir=/tmp/ozone_http\n\nOZONE-SITE.XML_hdds.container.ratis.datastream.enabled=true\n\nOZONE-SITE.XML_ozone.fs.hsync.enabled=true\n\nOZONE_CONF_DIR=/etc/hadoop\nOZONE_LOG_DIR=/var/log/hadoop\n\nno_proxy=om,scm,s3g,recon,kdc,localhost,127.0.0.1\n\n#
Explicitly enable filesystem snapshot feature for this Docker compose
cluster\nOZONE-SITE.XML_ozone.filesystem.snapshot.enabled=true\n"
unexpected character "-" in variable name near
"CORE-SITE.XML_fs.defaultFS=ofs://om\nCORE-SITE.XML_fs.trash.interval=1\n# For
HttpFS service it is required to enable proxying
users.\nCORE-SITE.XML_hadoop.proxyuser.hadoop.hosts=*\nCORE-SITE.XML_hadoop.proxyuser.hadoop.groups=*\n\nOZONE-SITE.XML_ozone.om.address=om\nOZONE-SITE.XML_ozone.om.http-address=om:9874\nOZONE-SITE.XML_ozone.scm.http-address=scm:9876\nOZONE-SITE.XML_ozone.scm.container.size=1GB\nOZONE-SITE.XML_ozone.scm.block.size=1MB\nOZONE-SITE.XML_ozone.scm.datanode.ratis.volume.free-space.min=10MB\nOZONE-SITE.XML_ozone.scm.pipeline.creation.interval=30s\nOZONE-SITE.XML_ozone.scm.pipeline.owner.container.count=1\nOZONE-SITE.XML_ozone.scm.names=scm\nOZONE-SITE.XML_ozone.scm.datanode.id.dir=/data/metadata\nOZONE-SITE.XML_ozone.scm.block.client.address=scm\nOZONE-SITE.XML_ozone.metadata.dirs=/data/metadata\nOZONE-SITE.XML_ozone.recon.db.dir=/data/metadata/recon\nOZONE-SITE.XML_ozone.scm.client.address=scm\nOZONE-SITE.XML_hdds.datanode.dir=/data/hdds\nOZONE-SITE.XML_hdds.datanode.volume.min.free.space=100MB\nOZONE-SITE.XML_ozone.recon.address=recon:9891\nOZONE-SITE.XML_ozone.recon.http-address=0.0.0.0:9888\nOZONE-SITE.XML_ozone.recon.https-address=0.0.0.0:9889\nOZONE-SITE.XML_ozone.recon.om.snapshot.task.interval.delay=1m\nOZONE-SITE.XML_ozone.datanode.pipeline.limit=1\nOZONE-SITE.XML_hdds.scmclient.max.retry.timeout=30s\nOZONE-SITE.XML_hdds.container.report.interval=60s\nOZONE-SITE.XML_ozone.scm.stale.node.interval=30s\nOZONE-SITE.XML_ozone.scm.dead.node.interval=45s\nOZONE-SITE.XML_hdds.heartbeat.interval=5s\nOZONE-SITE.XML_ozone.scm.close.container.wait.duration=5s\nOZONE-SITE.XML_hdds.scm.replication.thread.interval=15s\nOZONE-SITE.XML_hdds.scm.replication.under.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.replication.over.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.wait.time.after.safemode.exit=30s\nOZONE-SITE.XML_ozone.http.basedir=/tmp/ozone_http\n\nOZONE-SITE.XML_hdds.container.ratis.datastream.enabled=true\n\nOZONE-SITE.XML_ozone.fs.hsync.enabled=true\n\nOZONE_CONF_DIR=/etc/hadoop\nOZONE_LOG_DIR=/var/log/hadoop\n\nno_proxy=om,scm,s3g,recon,kdc,localhost,127.0.0.1\n\n#
Explicitly enable filesystem snapshot feature for this Docker compose
cluster\nOZONE-SITE.XML_ozone.filesystem.snapshot.enabled=true\n"
must specify at least one container source
unexpected character "-" in variable name near
"CORE-SITE.XML_fs.defaultFS=ofs://om\nCORE-SITE.XML_fs.trash.interval=1\n# For
HttpFS service it is required to enable proxying
users.\nCORE-SITE.XML_hadoop.proxyuser.hadoop.hosts=*\nCORE-SITE.XML_hadoop.proxyuser.hadoop.groups=*\n\nOZONE-SITE.XML_ozone.om.address=om\nOZONE-SITE.XML_ozone.om.http-address=om:9874\nOZONE-SITE.XML_ozone.scm.http-address=scm:9876\nOZONE-SITE.XML_ozone.scm.container.size=1GB\nOZONE-SITE.XML_ozone.scm.block.size=1MB\nOZONE-SITE.XML_ozone.scm.datanode.ratis.volume.free-space.min=10MB\nOZONE-SITE.XML_ozone.scm.pipeline.creation.interval=30s\nOZONE-SITE.XML_ozone.scm.pipeline.owner.container.count=1\nOZONE-SITE.XML_ozone.scm.names=scm\nOZONE-SITE.XML_ozone.scm.datanode.id.dir=/data/metadata\nOZONE-SITE.XML_ozone.scm.block.client.address=scm\nOZONE-SITE.XML_ozone.metadata.dirs=/data/metadata\nOZONE-SITE.XML_ozone.recon.db.dir=/data/metadata/recon\nOZONE-SITE.XML_ozone.scm.client.address=scm\nOZONE-SITE.XML_hdds.datanode.dir=/data/hdds\nOZONE-SITE.XML_hdds.datanode.volume.min.free.space=100MB\nOZONE-SITE.XML_ozone.recon.address=recon:9891\nOZONE-SITE.XML_ozone.recon.http-address=0.0.0.0:9888\nOZONE-SITE.XML_ozone.recon.https-address=0.0.0.0:9889\nOZONE-SITE.XML_ozone.recon.om.snapshot.task.interval.delay=1m\nOZONE-SITE.XML_ozone.datanode.pipeline.limit=1\nOZONE-SITE.XML_hdds.scmclient.max.retry.timeout=30s\nOZONE-SITE.XML_hdds.container.report.interval=60s\nOZONE-SITE.XML_ozone.scm.stale.node.interval=30s\nOZONE-SITE.XML_ozone.scm.dead.node.interval=45s\nOZONE-SITE.XML_hdds.heartbeat.interval=5s\nOZONE-SITE.XML_ozone.scm.close.container.wait.duration=5s\nOZONE-SITE.XML_hdds.scm.replication.thread.interval=15s\nOZONE-SITE.XML_hdds.scm.replication.under.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.replication.over.replicated.interval=5s\nOZONE-SITE.XML_hdds.scm.wait.time.after.safemode.exit=30s\nOZONE-SITE.XML_ozone.http.basedir=/tmp/ozone_http\n\nOZONE-SITE.XML_hdds.container.ratis.datastream.enabled=true\n\nOZONE-SITE.XML_ozone.fs.hsync.enabled=true\n\nOZONE_CONF_DIR=/etc/hadoop\nOZONE_LOG_DIR=/var/log/hadoop\n\nno_proxy=om,scm,s3g,recon,kdc,localhost,127.0.0.1\n\n#
Explicitly enable filesystem snapshot feature for this Docker compose
cluster\nOZONE-SITE.XML_ozone.filesystem.snapshot.enabled=true\n"
/var/folders/23/ww8_71vx2yq6f6nbfjr3g0680000gn/T//robot-data-lDlcKG {code}
Some tools version for reference
$ docker-compose version
{code:java}
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020 {code}
$ docker compose version
{code:java}
Docker Compose version v2.0.0{code}
$ docker --version
{code:java}
Docker version 20.10.8, build 3967b7d{code}
> Unexpected character "-" in Docker Compose env_file variable names
> ------------------------------------------------------------------
>
> Key: HDDS-11590
> URL: https://issues.apache.org/jira/browse/HDDS-11590
> Project: Apache Ozone
> Issue Type: Bug
> Components: docker-compose
> Affects Versions: 2.0.0
> Reporter: Ivan Zlenko
> Assignee: Ivan Zlenko
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> We are incorrectly using environment variables in our docker compose files.
> We can't use variables with names containing anything other than alphanumeric
> characters and underscore:
> {quote}
> Environment variable names used by the utilities in the Shell and Utilities
> volume of IEEE Std 1003.1-2001 consist solely of uppercase letters, digits,
> and the '_' (underscore) from the characters defined in Portable Character
> Set and do not begin with a digit. Other characters may be permitted by an
> implementation; applications shall tolerate the presence of such names.
> {quote}
> On the latest version of docker we can't run docker compose because of that.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]