Hi,
I’ve been testing out Anbox Cloud on GCP. I’ve been able to follow the guide and get a basic deployment running. In order to meet our organisational policies, I needed to add a constraint to the example ua.yaml file to prevent the allocation on public IPs to the instances. I just added this constraint to the machines 0-3 in the file. This worked fine.
I’ve tried to test out adding an additional lxd node with juju add-unit -n 1 lxd
but it fails as it’s trying to allocate a public IP for the new machine. Is there a way I can force all new machines to be created without a public IP or apply my constraints when using add-unit?
Yes, there is. You can set constraints at the model or application level. E.g. you set constraints for specific application in your Juju model run
$ juju set-constraints <app name> cores=4 mem=8G
Any newly added unit for the application will now respect the constraints.
Alternatively you can also adjust the constraints in your bundle and specify them at the application level rather than at the machine level. See the Juju documentation about bundles for more information.
Thanks, I’ve been able to deploy an additional lxd node. It hasn’t initialized correctly, but I’ll take a look and can create a new post if I can’t resolve it. It looks to be looping around but I can’t see any specific error:
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Certificate already provisioned. Skip provision
unit-ams-0: 16:13:45 INFO unit.ams/0.juju-log Registered new agent to AMS
unit-ams-0: 16:13:45 INFO unit.ams/0.juju-log Invoking reactive handler: hooks/relations/lxd/requires.py:23:broken:lxd-cluster
unit-ams-0: 16:13:45 INFO unit.ams/0.juju-log Invoking reactive handler: hooks/relations/rest/provides.py:14:joined:rest-api
unit-ams-0: 16:13:45 INFO juju.worker.uniter.operation ran "update-status" hook (via explicit, bespoke hook script)
unit-ams-node-controller-0: 16:13:51 INFO unit.ams-node-controller/0.juju-log Reactive main running for hook update-status
unit-ams-node-controller-0: 16:13:51 INFO unit.ams-node-controller/0.juju-log Initializing Apt Layer
unit-ams-node-controller-0: 16:13:51 INFO unit.ams-node-controller/0.juju-log Invoking reactive handler: reactive/apt.py:50:ensure_package_status
unit-ams-node-controller-0: 16:13:51 INFO unit.ams-node-controller/0.juju-log Invoking reactive handler: reactive/ams_node_controller.py:89:endpoint_lxd_available
unit-ams-node-controller-0: 16:13:51 INFO juju.worker.uniter.operation ran "update-status" hook (via explicit, bespoke hook script)
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Reactive main running for hook update-status
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Initializing Leadership Layer (is leader)
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Initializing Apt Layer
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Invoking reactive handler: reactive/apt.py:50:ensure_package_status
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Invoking reactive handler: reactive/ams.py:305:endpoint_lxd_joined
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Invoking reactive handler: reactive/ams.py:404:endpoint_rest_api_available
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Certificate already provisioned. Skip provision
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Certificate already provisioned. Skip provision
unit-ams-0: 16:13:44 INFO unit.ams/0.juju-log Invoking reactive handler: reactive/ams.py:429:endpoint_agent_auth_available
unit-ams-node-controller-0: 16:17:59 INFO unit.ams-node-controller/0.juju-log Reactive main running for hook update-status
unit-ams-node-controller-0: 16:17:59 INFO unit.ams-node-controller/0.juju-log Initializing Apt Layer
unit-ams-node-controller-0: 16:17:59 INFO unit.ams-node-controller/0.juju-log Invoking reactive handler: reactive/apt.py:50:ensure_package_status
unit-ams-node-controller-0: 16:17:59 INFO unit.ams-node-controller/0.juju-log Invoking reactive handler: reactive/ams_node_controller.py:89:endpoint_lxd_available
unit-ams-node-controller-0: 16:17:59 INFO juju.worker.uniter.operation ran "update-status" hook (via explicit, bespoke hook script)
Actually thinking about it, it may be a license issue.