IP changes on restart, reboot etc

I’m aware of dnsmasq and conflicting mac addresses but cant quite figure out why on a fresh container without any config change the IP is fixed but once I change config it then no longer keeps the same IP after reboot etc, volatile mac stays the same until config change then always changes. Any pointers on how to resolve this. I use the LXD api to make config changes. This didnt happen before v3

root@...:~# lxc config show isOK
architecture: x86_64
config:
  image.architecture: amd64
  image.description: ubuntu 18.04 LTS amd64 (release) (20200129.1)
  image.label: release
  image.os: ubuntu
  image.release: bionic
  image.serial: "20200129.1"
  image.type: squashfs
  image.version: "18.04"
  volatile.base_image: 9e7158fc0683d41f7f692ce8b17598716d7eee925c6a593432df59488bf4131f
  volatile.eth0.host_name: vetha24eb48e
  volatile.eth0.hwaddr: 00:16:3e:72:a9:0f
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""


root@...:~# lxc config show alwaysChanges
architecture: x86_64
config:
  boot.autostart: "1"
  image.architecture: amd64
  image.description: ubuntu 18.04 LTS amd64 (release) (20200129.1)
  image.label: release
  image.os: ubuntu
  image.release: bionic
  image.serial: "20200129.1"
  image.version: "18.04"
  limits.cpu: "1"
  limits.cpu.allowance: 100%
  limits.cpu.priority: "10"
  limits.disk.priority: "10"
  limits.memory: 1024MB
  limits.memory.enforce: hard
  limits.memory.swap: "0"
  limits.memory.swap.priority: "10"
  limits.network.priority: "10"
  limits.processes: "2000"
  user.sshkeys: "10"
  volatile.eth0.host_name: veth0e061d91
  volatile.eth0.hwaddr: 00:16:3e:99:f3:f9
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.power: RUNNING
devices:
  ssh alwaysChanges:
    bind: host
    connect: tcp:10.67.1.147:22
    listen: tcp:snip:2200
    type: proxy
ephemeral: false
profiles:
- default
stateful: false
description: ""
root@...:~# 

now once config is changed, on isOK, then no longer keeps same IP :frowning:

root@...:~# lxc config show isOK
architecture: x86_64
config:
  image.architecture: amd64
  image.description: ubuntu 18.04 LTS amd64 (release) (20200129.1)
  image.label: release
  image.os: ubuntu
  image.release: bionic
  image.serial: "20200129.1"
  image.version: "18.04"
  limits.cpu: "1"
  limits.cpu.allowance: 50%
  limits.cpu.priority: "5"
  limits.disk.priority: "5"
  limits.memory: 1024MB
  limits.memory.enforce: soft
  limits.memory.swap: "0"
  limits.memory.swap.priority: "5"
  limits.network.priority: "5"
  limits.processes: "2500"
  volatile.eth0.host_name: veth1bf660d1
  volatile.eth0.hwaddr: 00:16:3e:00:54:fc
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""