Outils pour utilisateurs

Outils du site


blog

OpenStack multidomain

Voir :

openstack domain create --description "Test Domain" xxdom
openstack user create --domain xxdom xxadmin --password-prompt
openstack role create admin --domain  xxdom
openstack project create --description "Projet xx 1" xx_prj1 --domain xxdom
openstack role add --project xx_prj1 --user xxadmin admin

Activation du réseau

openstack network set --share public
cp -p /opt/stack/horizon/openstack_dashboard/local/local_settings.py{,.orig}

/opt/stack/horizon/openstack_dashboard/local/local_settings.py

OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'default'

Voir https://github.com/openstack/horizon/blob/master/openstack_dashboard/local/local_settings.py.example

systemctl restart apache2
2025/03/24 15:06

OpenStack Glance - VIO - Import a Virtual Machine Template as an Image

Source : https://docs.vmware.com/en/VMware-Integrated-OpenStack/6.0/com.vmware.openstack.admin.doc/GUID-7D4EF366-3945-44F1-8B2C-B33BBE5E4A28.html?hWord=N4IghgNiBcIJYFsAOB7ATgFxAXyA

Note : la commande Glance n'utilise pas le fichier cloud.yaml mais les variables d'environnement.
Voir API CLI OpenStack Glance - configuration authentification via variables d'environnement

Pour connaître l'URL :

Allez sur https://vco.acme.local/ puis icone 2em icone en haut (VMs and Templates)

Créer une image vide

glance image-create --name image-name --disk-format vmdk --container-format bare

Pour retrouver l'ID de l'image

$ openstack image list |grep image-name
| dada9516-b37d-481b-8d20-dcaa3951f518 | image-name | active |

Lier le fichier existant à l'image OpenStack nouvellement crée.

glance location-add dada9516-b37d-481b-8d20-dcaa3951f518 --url "vi://vco.acme.local/DC_VIO/vm/OpenStack/Project (89274bfabff64a28abedc8f5fd3d3b2f)/Images/abdd879c-3c6b-4fd5-a42b-458fdc231fee-vco-TL0HWP?managed=True"  --visibility public --property vmware_adaptertype="lsiLogicsas" --property vmware_disktype="streamOptimized" --property stores="vco.acme.local"

Pour comparer les métadonnées entre deux images

vimdiff <(openstack image show VM_SUPER -f shell) <(openstack image show VM_NEW -f shell)
vimdiff <(openstack image show VM_SUPER -f yaml -c properties) <(openstack image show VM_NEW -f yaml -c properties)

Mettre à jour les métadonnées.

glance image-update 4899c91a-c0ac-4809-b469-70ebd0863e3a --visibility public --property vmware_adaptertype="lsiLogicsas" --property vmware_disktype="streamOptimized" --property stores="vco.acme.local"
openstack image set VM_NEW --min-disk 10 --min-ram 1
2025/03/24 15:06

OpenStack client API

Install

Paquet Debian
apt-get install openstack-clients

Le script suivant permet de jouer avec les APIs /usr/bin/python2-openstack

Install python-openstackclient via pip
sudo apt-get install virtualenv build-essential python-dev
 
mkdir openstackcli
cd openstackcli
virtualenv .
source bin/activate
pip install python-openstackclient
sudo ln -fs $PWD/bin/openstack /usr/local/bin/
#deactivate

Install Auto-completion

openstack complete |sudo tee /etc/bash_completion.d/osc.bash_completion

Config

~/.config/openstack/clouds.yaml

clouds:
  devstack:
    auth:
      auth_url: http://192.168.56.11/identity/v3
      username: "admin"
      project_id: 17780b954c3a4b04a8123ac76d68f7b4
      project_name: "admin"
      user_domain_name: "Default"
      password: "toor"
    region_name: "RegionOne"
    interface: "public"
    identity_api_version: 3

Debug - Test flux

curl http://192.168.56.11/identity/v3

Test

openstack project list --os-cloud devstack
 
export OS_CLOUD=devstack
 
# python2-openstack service list
openstack service list
openstack project list
openstack server list

Ou par variables

devstack-openrc

#
# See :
# * https://docs.openstack.org/python-openstackclient/pike/cli/man/openstack.html#environment-variables
# * https://docs.openstack.org/newton/install-guide-ubuntu/keystone-openrc.html
 
unset $(set |grep _ENDPOINT_ |cut -d= -f1)
unset $(set |grep ^OS_ |cut -d= -f1)
 
export LC_ALL=C
# LC_ALL=C.UTF-8
export OS_NO_CACHE='true'
export OS_CACERT=/etc/ssl/certs/
 
export OS_PROJECT_NAME='admin'
export OS_USERNAME='admin'
export OS_PASSWORD='toor'
export OS_AUTH_URL='http://192.168.56.11/identity/v3'
#export OS_DEFAULT_DOMAIN='Default'
export OS_USER_DOMAIN_NAME='Default'
export OS_IDENTITY_API_VERSION='3'
#export OS_INTERFACE='public'
#export OS_AUTH_STRATEGY='keystone'
#export OS_REGION_NAME='RegionOne'
 
#export OS_ENDPOINT_TYPE="$OS_AUTH_URL"
#export CINDER_ENDPOINT_TYPE="OS_AUTH_URL"
#export GLANCE_ENDPOINT_TYPE="$OS_AUTH_URL"
#export KEYSTONE_ENDPOINT_TYPE="$OS_AUTH_URL"
#export NOVA_ENDPOINT_TYPE="$OS_AUTH_URL"
#export NEUTRON_ENDPOINT_TYPE="$OS_AUTH_URL"
 
export OS_CLOUDNAME=devstack
# Add OS_CLOUDNAME to PS1
if [ -z "${CLOUDPROMPT_ENABLED:-}" ]; then
    export PS1=${PS1:-""}
    export PS1=\${OS_CLOUDNAME:+"(\$OS_CLOUDNAME)"}\ $PS1
    export CLOUDPROMPT_ENABLED=1
fi

Syntaxe

openstack --os-identity-api-version 3 --help

Exemple

openstack keypair create --public-key ~/.ssh/id_rsa.pub maclef

Pb

Pb certificate verify failed
$ openstack project list --os-cloud vio
Failed to discover available identity versions when contacting https://vio.acme.local:5000/v3. Attempting to parse version from URL.
SSL exception connecting to https://vio.acme.local:5000/v3/auth/tokens: HTTPSConnectionPool(host='vio.acme.local', port=5000): Max retries exceeded with url: /v3/auth/tokens (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
Solution
openssl s_client -showcerts -verify 5 -connect 192.168.21.53:5000 </dev/null > /usr/local/share/ca-certificates/vio.acme.local_5000.crt
update-ca-certificates
 
export OS_CACERT=/etc/ssl/certs/
Pb 'int' object has no attribute 'startswith'
$ openstack server list --os-cloud vio
'int' object has no attribute 'startswith'
Solution 1

Voir https://review.openstack.org/#/c/388832/

Patcher les fichiers ci-dessous comme https://review.openstack.org/#/c/388832/2/osc_lib/cli/client_config.py :

  • /usr/lib/python2.7/dist-packages/osc_lib/cli/client_config.py
  • /usr/lib/python2.7/dist-packages/openstackclient/common/client_config.py
Solution 2

Dans clouds.yaml remplacer identity_api_version: 3 par identity_api_version: “3”

Autres

2025/03/24 15:06

OpenSSL Proxy http_proxy

Voir aussi:

On peut utiliser proxytunnel

proxytunnel -p 192.168.56.1:3128 -d www.acme.fr:443 -a 7000
 
openssl s_client -connect localhost:7000 -showcerts
2025/03/24 15:06

Clone multi disques dd tee

Voir aussi :

Source : http://superuser.com/questions/145516/cloning-single-disk-drive-to-multiple-drives-simultaneously

cat drive.image |tee >(dd of=/dev/sda) >(dd of=/dev/sdb) >(dd of=/dev/sdc) |dd of=/dev/sdd
cat drive.image |tee >(dd of=/dev/sda) >(dd of=/dev/sdb) >(dd of=/dev/sdc) >(dd of=/dev/sdd) > /dev/null

Avec barre de progression

# sudo apt-get install pv
pv drive.image |tee >(dd of=/dev/sda) >(dd of=/dev/sdb) >(dd of=/dev/sdc) |dd of=/dev/sdd
2025/03/24 15:06
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki