Nas backup restore fails if the backup repository mount options have a trailing space
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Domínio
- backend, infrastructure
Direção de pesquisa
Comece em LibvirtRestoreBackupCommandWrapper e inspecione como mountOptions é passado para Script.executeCommand; compare isso com o tratamento do shell em nasbackup.sh. Reproduza a restauração usando uma opção de repositório com espaços em branco à direita e, em seguida, verifique se a restauração é bem-sucedida e se o comportamento existente do comando de montagem permanece intacto.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
problem
Backup works because mount options are processed inside the shell script nasbackup.sh where trailing spaces are not a problem.
But restore (LibvirtRestoreBackupCommandWrapper) builds and runs mount in Java
if (StringUtils.isNotBlank(mountOptions)) {
mountCmd.add("-o");
mountCmd.add(mountOptions);
}
Script.executeCommand(mountCmd.toArray(new String[0]));
Script.executeCommand(String...) builds a ProcessBuilder argument list
mount receives the literal -o "vers=4.1 ". libmount splits options only on commas, so the trailing blank stays glued to the last option, and mount.nfs/the kernel rejects it as a malformed or unknown option ("an incorrect mount option was specified").
WARN utils.script.Script (logid:435302bd) Process [445800] for command [sudo /usr/bin/mount -t nfs <redacted> encountered the error: [mount.nfs: an incorrect mount option was specified for /usr/share/cloudstack-agent/tmp/csbackup...
versions
ACS 4.22.1
The steps to reproduce the bug
- Create a backup repository - specify mount options (
vers=4.1) with a trailing space - Create backup
- Restore backup - it fails
...
What to do about it?
Trim trailing whitespaces before using the mount options
- Linguagem predominante
- Java
- Estrelas
- 3.1k
- Forks
- 1.4k
- Merge médio
- 7d 5h
- PRs com merge (30d)
- 28
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de apache/cloudstack
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
apache/cloudstack#14222 ·
-
create-kubernetes-binaries-iso.sh builds the ISO without setting a volume ID on EL8 based os's Abertabug component:kubernetes
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
apache/cloudstack#14180 ·
-
bug component:projects component:UI
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
apache/cloudstack#14070 · 5 comentários ·
-
KVM agent fails to connect to Ceph RBD storage pool after upgrading Ceph client to Tentacle 20.2.4 Abertabug component:ceph
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/cloudstack#13989 · 3 comentários ·
-
component:UI
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
apache/cloudstack#13944 · 3 comentários ·
Todas as issues de apache/cloudstack
Issues semelhantes
-
[BUG]茶杯方块在取茶时会引发崩溃 Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Cannot differ own consent and managed consents in My Consents view and detailed consent view. Aberta1.0.0-alpha2 Type/Improvement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
wso2/dpdp-accelerator#272 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100