Compare commits

...
Author SHA1 Message Date
telackey 4e5b5ff031 Honor DOCKER_DEFAULT_PLATFORM
Lint Checks / Run linter (pull_request) Successful in 39s
Deploy Test / Run deploy test suite (pull_request) Successful in 6m1s
Webapp Test / Run webapp test suite (pull_request) Successful in 5m33s
K8s Deployment Control Test / Run deployment control suite on kind/k8s (pull_request) Successful in 7m39s
K8s Deploy Test / Run deploy test suite on kind/k8s (pull_request) Successful in 9m0s
Smoke Test / Run basic test suite (pull_request) Successful in 4m16s
2024-08-29 14:57:35 -05:00
telackey f1fdc48aaa Work around this bug: https://github.com/python/cpython/pull/14064 (#941)
Lint Checks / Run linter (push) Successful in 38s
Publish / Build and publish (push) Successful in 1m30s
Smoke Test / Run basic test suite (push) Successful in 4m18s
Webapp Test / Run webapp test suite (push) Successful in 5m2s
Deploy Test / Run deploy test suite (push) Successful in 5m20s
Fixturenet-Laconicd-Test / Run Laconicd fixturenet and Laconic CLI tests (push) Successful in 19m7s
K8s Deploy Test / Run deploy test suite on kind/k8s (push) Failing after 30s
Database Test / Run database hosting test on kind/k8s (push) Failing after 32s
Container Registry Test / Run contaier registry hosting test on kind/k8s (push) Failing after 34s
External Stack Test / Run external stack test suite (push) Failing after 31s
Otherwise we sometimes see errors like:

```
cerc-webapp-deployer:   File "/root/.shiv/laconic-so_0f937aa98c2748ef9af8585d6f441dbc01546ace0d6660cbb159d1e5040aeddf/site-packages/stack_orchestrator/deploy/webapp/deploy_webapp_from_registry.py", line 671, in command
cerc-webapp-deployer:     shutil.rmtree(tempdir)
cerc-webapp-deployer:   File "/usr/lib/python3.10/shutil.py", line 725, in rmtree
cerc-webapp-deployer:     _rmtree_safe_fd(fd, path, onerror)
cerc-webapp-deployer:   File "/usr/lib/python3.10/shutil.py", line 681, in _rmtree_safe_fd
cerc-webapp-deployer:     onerror(os.unlink, fullname, sys.exc_info())
cerc-webapp-deployer:   File "/usr/lib/python3.10/shutil.py", line 679, in _rmtree_safe_fd
cerc-webapp-deployer:     os.unlink(entry.name, dir_fd=topfd)
cerc-webapp-deployer: FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.extra'
```

Reviewed-on: #941
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
2024-08-28 23:17:13 +00:00
telackey a54072de6c Add --config-ref flag. (#939)
Lint Checks / Run linter (push) Successful in 43s
Publish / Build and publish (push) Successful in 1m15s
Smoke Test / Run basic test suite (push) Successful in 3m55s
Webapp Test / Run webapp test suite (push) Successful in 4m38s
Deploy Test / Run deploy test suite (push) Successful in 4m53s
Database Test / Run database hosting test on kind/k8s (push) Successful in 8m46s
Container Registry Test / Run contaier registry hosting test on kind/k8s (push) Successful in 3m24s
External Stack Test / Run external stack test suite (push) Successful in 4m32s
Add a flag to re-use config.

Reviewed-on: #939
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
2024-08-28 17:32:52 +00:00
3 changed files with 20 additions and 13 deletions

No files matched your search

+13 -7
View File
@@ -14,6 +14,7 @@
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
import click
import os
from dataclasses import dataclass
import json
import platform
@@ -84,13 +85,18 @@ def _filter_for_platform(container: str,
tag_list: List[str]) -> List[str] :
filtered_tags = []
this_machine = platform.machine()
# Translate between Python and docker platform names
if this_machine == "x86_64":
this_machine = "amd64"
if this_machine == "aarch64":
this_machine = "arm64"
if opts.o.debug:
print(f"Python says the architecture is: {this_machine}")
if "DOCKER_DEFAULT_PLATFORM" in os.environ:
this_machine = os.environ["DOCKER_DEFAULT_PLATFORM"].split("/")[-1]
if opts.o.debug:
print(f"DOCKER_DEFAULT_PLATFORM says the architecture is: {this_machine}")
else:
# Translate between Python and docker platform names
if this_machine == "x86_64":
this_machine = "amd64"
if this_machine == "aarch64":
this_machine = "arm64"
if opts.o.debug:
print(f"Python says the architecture is: {this_machine}")
docker = DockerClient()
for tag in tag_list:
remote_tag = f"{registry_info.registry}/{container}:{tag}"
@@ -668,4 +668,4 @@ def command( # noqa: C901
main_logger.log("UNCAUGHT ERROR:" + str(e))
raise e
finally:
shutil.rmtree(tempdir)
shutil.rmtree(tempdir, ignore_errors=True)
@@ -49,6 +49,7 @@ def fatal(msg: str):
required=True,
)
@click.option("--env-file", help="environment file for webapp")
@click.option("--config-ref", help="The ref of an existing config upload to use.")
@click.option(
"--make-payment",
help="The payment to make (in alnt). The value should be a number or 'auto' to use the deployer's minimum required payment.",
@@ -69,6 +70,7 @@ def command(
app,
deployer,
env_file,
config_ref,
make_payment,
use_payment,
dns,
@@ -86,7 +88,8 @@ def command(
if not deployer_record:
fatal(f"Unable to locate deployer: {deployer}")
config_ref = None
if env_file and config_ref:
fatal("Cannot use --env-file and --config-ref at the same time.")
# If env_file
if env_file:
@@ -132,9 +135,7 @@ def command(
"version": "1.0.0",
"name": f"{app_record.attributes.name}@{app_record.attributes.version}",
"deployer": deployer,
"meta": {
"when": str(datetime.utcnow())
}
"meta": {"when": str(datetime.utcnow())},
}
}
@@ -171,4 +172,4 @@ def command(
# Send the request
laconic.publish(deployment_request)
finally:
shutil.rmtree(tempdir)
shutil.rmtree(tempdir, ignore_errors=True)