2022-03-14 17:34:42 +00:00
|
|
|
# Useful Landscape Commands
|
|
|
|
|
|
|
|
Useful links
|
|
|
|
|
|
|
|
* [Landscape API package](https://landscape.canonical.com/static/doc/api/api-client-package.html)
|
|
|
|
* [Landscape user Guide](https://landscape.canonical.com/static/doc/user-guide/)
|
|
|
|
* [Landscape API Guide](https://landscape.canonical.com/static/doc/api/)
|
|
|
|
|
|
|
|
Retreiving the CA file for self-signed
|
|
|
|
|
|
|
|
```
|
|
|
|
juju run --application landscape-haproxy 'sudo openssl x509 -in /var/lib/haproxy/default.pem' > landscape_cert.crt
|
|
|
|
```
|
|
|
|
|
|
|
|
Landscape RC file, after generating API and SECRET key from the UI
|
|
|
|
|
|
|
|
```
|
|
|
|
export LANDSCAPE_API_KEY="EF414M7SAO1RP7ZNPA9A"
|
|
|
|
export LANDSCAPE_API_SECRET="vFAojXSy9IiUj1T/Q4ggYDcIn4LIpcWyQsq7uSKk"
|
|
|
|
export LANDSCAPE_API_URI="https://10.0.1.126/api/"
|
|
|
|
export LANDSCAPE_API_SSL_CA_FILE="$PWD/landscape_cert.crt"
|
|
|
|
```
|
|
|
|
|
|
|
|
Adding tags to machines
|
|
|
|
|
|
|
|
The following command will tag all machines that have `as1-maas-node-` in the name with `asrock01`
|
|
|
|
|
|
|
|
```
|
|
|
|
landscape-api add-tags-to-computers "as1-maas-node-" "asrock01"
|
|
|
|
```
|
|
|
|
|
|
|
|
Choosing specific hosts and tagging them
|
|
|
|
|
|
|
|
```
|
2022-03-14 17:38:31 +00:00
|
|
|
landscape-api add-tags-to-computers "title:as1-maas-node-01" OR "title:as1-maas-node-02" OR "title:as1-maas-node-03" asrock01
|
2022-03-14 17:34:42 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Searching something with regex, and then adding the correspongding tag
|
|
|
|
|
|
|
|
```bash
|
|
|
|
for c in $(landscape-api get-computers --json | jq -r ".[] | select(.title |test(\"^as1\")) |.title")
|
|
|
|
do
|
|
|
|
landscape-api add-tags-to-computers hostname:${c} asrock01
|
|
|
|
done
|
|
|
|
```
|
|
|
|
|
2022-03-15 17:52:30 +00:00
|
|
|
If you're using juju, then you might find the following more useful to add tags per AZ
|
|
|
|
|
|
|
|
```bash
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
. landscape_rc
|
|
|
|
|
|
|
|
juju_machines=$(mktemp)
|
|
|
|
|
|
|
|
juju machines > ${juju_machines}
|
|
|
|
|
|
|
|
for az in $(cat ${juju_machines} | awk '{print $6}' | tail +2 | sort | uniq)
|
|
|
|
do
|
|
|
|
for host in $(cat ${juju_machines} | grep ${az} | awk '{print $4}')
|
|
|
|
do
|
|
|
|
landscape-api add-tags-to-computers title:${host} "${az}"
|
|
|
|
done
|
|
|
|
done
|
|
|
|
```
|
|
|
|
|