I gave ashley some steps to try as I work in this sort of environment daily. Also suggested she launch a new container install juju & configure to ensure she is working in a clean environment. I can bootstrap arm64 hosts from my x64 laptop, Including Cavium ThunderX servers. In this case vendor should not matter. I have tested with both juju/stable & juju/devel In this case i'm using juju/devel: ubuntu@vital-crawdad:~$ uname -a Linux vital-crawdad 4.10.0-32-generic #36-Ubuntu SMP Tue Aug 8 12:10:06 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux ubuntu@vital-crawdad:~$ juju --version 2.2.2-xenial-amd64 ubuntu@vital-crawdad:~$ juju bootstrap 1ss --debug --constraints arch=arm64 17:18:57 INFO juju.cmd supercommand.go:63 running juju [2.2.2 gc go1.8] 17:18:57 DEBUG juju.cmd supercommand.go:64 args: []string{"juju", "bootstrap", "1ss", "--debug", "--constraints", "arch=arm64"} 17:18:57 DEBUG juju.cmd.juju.commands bootstrap.go:803 authenticating with region "" and credential "qa" () 17:18:57 DEBUG juju.cmd.juju.commands bootstrap.go:915 provider attrs: map[] 17:18:58 INFO cmd authkeys.go:114 Adding contents of "/home/ubuntu/.local/share/juju/ssh/juju_id_rsa.pub" to authorized-keys 17:18:58 DEBUG juju.cmd.juju.commands bootstrap.go:971 preparing controller with config: map[apt-https-proxy: development:false automatically-retry-hooks:true logforward-enabled:false enable-os-refresh-update:true http-proxy: apt-http-proxy: no-proxy:127.0.0.1,localhost,::1 resource-tags: enable-os-upgrade:true provisioner-harvest-mode:destroyed update-status-hook-interval:5m max-status-history-size:5G disable-network-management:false max-status-history-age:336h apt-mirror: net-bond-reconfigure-delay:17 name:controller ignore-machine-addresses:false image-metadata-url: uuid:562bd46a-8d5a-44b5-8c39-46a94c3ce90a firewall-mode:instance https-proxy: apt-no-proxy: agent-metadata-url: test-mode:false ftp-proxy: logging-config: proxy-ssh:false image-stream:released apt-ftp-proxy: default-series:xenial transmit-vendor-metrics:true type:maas ssl-hostname-verification:true agent-stream:released authorized-keys:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChSkHlIieYdzzsS40MmsjJLxy28BX11D54TaBVQ/z5TNOx11Wi1UujpoJ7tkwvJ7eg+UeLZy/3hXqdSl+qeD4M68rVilI3rBfpzfmezrb11+7FtgPJGNhiXyTxuL5wQu9RjEdLHKy1eZmbvrnSSDaASbZf2vRFwn1fc4aCthWM7yJM37Fy5+ncs2T/1w9fKcJ39SERiBaZci52n/Z6O1u4Uqn2iv2FmOOV/c6KkSkpEzHaJzn+qLsAJ44kRMB2ac/FmC9Gz4IcNpXmPnvmXhV0gP4I5xQ5L9Ul6oeyNMCLKGqCoCTR/4Rh4lXFqg/0Qwu1H/ab70zJModhwtamgimv juju-client-key ] 17:18:58 DEBUG juju.provider.maas environprovider.go:61 opening model "controller". 17:18:58 INFO cmd bootstrap.go:481 Creating Juju controller "1ss" on 1ss 17:18:58 INFO juju.cmd.juju.commands bootstrap.go:536 combined bootstrap constraints: arch=arm64 17:18:58 DEBUG juju.environs.bootstrap bootstrap.go:199 model "controller" supports service/machine networks: true 17:18:58 DEBUG juju.environs.bootstrap bootstrap.go:201 network management by juju enabled: true 17:18:58 INFO cmd bootstrap.go:233 Loading image metadata 17:18:58 INFO cmd bootstrap.go:296 Looking for packaged Juju agent version 2.2.2 for arm64 17:18:58 INFO juju.environs.bootstrap tools.go:72 looking for bootstrap agent binaries: version=2.2.2 17:18:58 DEBUG juju.environs.tools tools.go:101 finding agent binaries in stream "released" 17:18:58 DEBUG juju.environs.tools tools.go:103 reading agent binaries with major.minor version 2.2 17:18:58 DEBUG juju.environs.tools tools.go:111 filtering agent binaries by version: 2.2.2 17:18:58 DEBUG juju.environs.tools tools.go:117 filtering agent binaries by architecture: arm64 17:18:58 DEBUG juju.environs.tools urls.go:109 trying datasource "keystone catalog" 17:18:59 DEBUG juju.environs.simplestreams simplestreams.go:683 using default candidate for content id "com.ubuntu.juju:released:tools" are {20161007 mirrors:1.0 content-download streams/v1/cpc-mirrors.sjson []} 17:19:01 INFO juju.environs.bootstrap tools.go:74 found 4 packaged agent binaries 17:19:02 INFO cmd bootstrap.go:357 Starting new instance for initial controller Launching controller instance(s) on 1ss... 17:19:03 DEBUG juju.cloudconfig.instancecfg instancecfg.go:832 Setting numa ctl preference to false 17:19:03 DEBUG juju.service discovery.go:63 discovered init system "systemd" from series "xenial" 17:19:03 DEBUG juju.provider.maas environ.go:1018 maas user data; 3456 bytes 17:19:06 DEBUG juju.provider.maas interfaces.go:265 interface "eth1" has no links 17:19:06 DEBUG juju.provider.maas environ.go:1050 started instance "73qrs8" - 73qrs8 (arch=arm64 mem=31.4G cores=8) 17:19:06 INFO juju.environs.bootstrap bootstrap.go:606 newest version: 2.2.2 17:19:06 INFO juju.environs.bootstrap bootstrap.go:621 picked bootstrap agent binary version: 2.2.2 17:19:06 INFO juju.environs.bootstrap bootstrap.go:393 Installing Juju agent on bootstrap instance 17:19:08 INFO cmd bootstrap.go:485 Fetching Juju GUI 2.8.0 17:26:29 DEBUG juju.cloudconfig.instancecfg instancecfg.go:832 Setting numa ctl preference to false Waiting for address Attempting to connect to 10.229.48.213:22 17:26:29 DEBUG juju.provider.common bootstrap.go:497 connection attempt for 10.229.48.213 failed: ssh: connect to host 10.229.48.213 port 22: Connection refused 17:26:34 DEBUG juju.provider.common bootstrap.go:497 connection attempt for 10.229.48.213 failed: ssh: connect to host 10.229.48.213 port 22: Connection refused 17:26:41 DEBUG juju.provider.common bootstrap.go:497 connection attempt for 10.229.48.213 failed: /var/lib/juju/nonce.txt does not exist 17:26:47 DEBUG juju.provider.common bootstrap.go:497 connection attempt for 10.229.48.213 failed: /var/lib/juju/nonce.txt does not exist 17:26:52 INFO juju.cloudconfig userdatacfg_unix.go:410 Fetching agent: curl -sSfw 'tools from %{url_effective} downloaded: HTTP %{http_code}; time %{time_total}s; size %{size_download} bytes; speed %{speed_download} bytes/s ' --retry 10 -o $bin/tools.tar.gz <[https://streams.canonical.com/juju/tools/agent/2.2.2/juju-2.2.2-ubuntu-arm64.tgz]> 17:28:52 INFO cmd bootstrap.go:423 Bootstrap agent now started 17:28:52 INFO juju.juju api.go:308 API endpoints changed from [] to [10.229.48.213:17070] 17:28:52 INFO cmd controller.go:82 Contacting Juju controller at 10.229.48.213 to verify accessibility... 17:28:52 INFO juju.juju api.go:67 connecting to API addresses: [10.229.48.213:17070] 17:29:22 DEBUG juju.api apiclient.go:863 successfully dialed "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:22 INFO juju.api apiclient.go:617 connection established to "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:23 DEBUG juju.api monitor.go:35 RPC connection died 17:29:23 INFO cmd controller.go:110 Still waiting for API to become available: upgrade in progress (upgrade in progress) 17:29:23 INFO juju.juju api.go:67 connecting to API addresses: [10.229.48.213:17070] 17:29:24 DEBUG juju.api apiclient.go:863 successfully dialed "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:24 INFO juju.api apiclient.go:617 connection established to "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:24 DEBUG juju.api monitor.go:35 RPC connection died 17:29:24 INFO cmd controller.go:110 Still waiting for API to become available: upgrade in progress (upgrade in progress) 17:29:24 INFO juju.juju api.go:67 connecting to API addresses: [10.229.48.213:17070] 17:29:25 DEBUG juju.api apiclient.go:863 successfully dialed "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:25 INFO juju.api apiclient.go:617 connection established to "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:25 DEBUG juju.api monitor.go:35 RPC connection died 17:29:25 INFO cmd controller.go:110 Still waiting for API to become available: upgrade in progress (upgrade in progress) 17:29:25 INFO juju.juju api.go:67 connecting to API addresses: [10.229.48.213:17070] 17:29:26 DEBUG juju.api apiclient.go:863 successfully dialed "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:26 INFO juju.api apiclient.go:617 connection established to "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:26 DEBUG juju.api monitor.go:35 RPC connection died 17:29:26 INFO cmd controller.go:110 Still waiting for API to become available: upgrade in progress (upgrade in progress) 17:29:26 INFO juju.juju api.go:67 connecting to API addresses: [10.229.48.213:17070] 17:29:27 DEBUG juju.api apiclient.go:863 successfully dialed "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:27 INFO juju.api apiclient.go:617 connection established to "wss://10.229.48.213:17070/model/2038400f-63fb-4f11-89bc-941b7b0a6ea3/api" 17:29:28 DEBUG juju.api monitor.go:35 RPC connection died 17:29:28 INFO cmd controller.go:87 Bootstrap complete, "1ss" controller now available. 17:29:28 INFO cmd controller.go:88 Controller machines are in the "controller" model. 17:29:28 INFO cmd controller.go:89 Initial model "default" added. 17:29:28 INFO cmd supercommand.go:465 command finished once bootstrapped, I will not deploy ubuntu charm on an AMD64 host. ubuntu@vital-crawdad:~$ juju deploy ubuntu --constraints arch=amd64 Located charm "cs:ubuntu-10". Deploying charm "cs:ubuntu-10". And also deploy an additional machine, this time arm64 ubuntu@vital-crawdad:~$ juju add-machine --constraints arch=arm64 created machine 1 ubuntu@vital-crawdad:~$ juju status Model Controller Cloud/Region Version SLA default 1ss 1ss 2.2.2 unsupported App Version Status Scale Charm Store Rev OS Notes ubuntu waiting 0/1 ubuntu jujucharms 10 ubuntu Unit Workload Agent Machine Public address Ports Message ubuntu/0 waiting allocating 0 10.229.0.23 waiting for machine Machine State DNS Inst id Series AZ Message 0 pending 10.229.0.23 dhs77s xenial default Deploying: libutil.c32 1 pending 10.229.65.134 7wbsag xenial moonshot Deploying: ubuntu/arm64/xgene-uboot/xenial/daily/boot-initrd.xgene ubuntu@vital-crawdad:~$ juju status Model Controller Cloud/Region Version SLA default 1ss 1ss 2.2.2 unsupported App Version Status Scale Charm Store Rev OS Notes ubuntu maintenance 1 ubuntu jujucharms 10 ubuntu Unit Workload Agent Machine Public address Ports Message ubuntu/0* maintenance executing 0 10.229.0.23 (install) installing charm software Machine State DNS Inst id Series AZ Message 0 started 10.229.0.23 dhs77s xenial default Deployed 1 pending 10.229.65.134 7wbsag xenial moonshot Deploying: 'curtin' configuring format: sda-part2_format And eventually both reach Ready State.