- use `-e target_hosts=openop_3` or `-e target_hosts=openop_2` for one side only
- use `-e target_hosts=openop_2,openop_3` to update both sides in `dual_oop`
-`/deploy.yml` is idempotent: if nothing changed, Ansible usually reports `ok` and does not restart or recreate service
- to apply changed templates, image tags, manifests, or vars, rerun same tool `/deploy.yml` command with those updated inputs
- tool playbooks use inventory host variables, including remote kubeconfig paths and filenames
- if you want to use scenario playbooks instead, `--tags <service>` works for deploy/reconcile, but dedicated tool `undeploy.yml` is clearer for removal
## Update one service
## Where kubeconfigs go
For remote deployments, playbooks fetch kubeconfigs locally to:
```text
~/kind-cluster-configs/<inventory-host>/
```
Use `--tags` on scenario playbooks when only a few services must change.
use `manual-api-e2e-testing.md` section `5` with OP1 OEG URL `http://192.168.123.155:32263/oeg/1.0.0`, local zone `47056b13-494d-4e68-a7e7-88a783d69b1d`, `APP_PACKAGE_TYPE=CONTAINER`, `APP_IMAGE_PATH=nginx:latest`
2. Federation enablement:
use `manual-api-e2e-testing.md` section `6` against OP1 OEG
3. Federated deployment:
use `manual-api-e2e-testing.md` section `7` with remote zone `5460f101-e44c-4dae-b41b-cb7752aafced`
If deployment fails before Kind cluster creation, old clusters or containers still own NodePort mappings. Remove stale Kind clusters on target hosts, then retry.
### SRM or another component stays in `FAILED - RETRYING`