Boot vm in compute node
cd /var/lib/nova/instances//
/usr/libexec/qemu-kvm -m 1024 -hda /tmp/systemrescue-8.03-amd64.iso -hdb disk -display none -serial stdio
kernel add console=ttyS0
Utilização

config-cloud (cloud-init) setando password (senha) na instancia

#cloud-config
hostname: teste
fqdn: teste.meudominio.br
ssh_pwauth: False
password: cloudsenha
chpasswd: {expire: False}
package_upgrade: true

packages:
- httpd

Outras informações: https://www.ic.unicamp.br/~william/howto/cloud-init.html

Script Iniciando uma instancia
#!/bin/bash
KEY="SSH Key Name"
BOOTIMG="IMAGE UUID"
ZONE="NL1"
FLAVOR="Standard 1"

source ~/computerc

for RUN in {1..20}; do
echo "Creating VM ${RUN}""
VMUUID=$(nova boot \
--image "${BOOTIMG}" \
--flavor "${FLAVOR}" \
--availability-zone "${ZONE}" \
--nic net-id=00000000-0000-0000-0000-000000000000 \
--key-name "${KEY}" \
--user-data user_data.file \
"VPS-${RUN}-${ZONE}" | awk '/id/ {print $4}' | head -n 1);
until [[ "$(nova show ${VMUUID} | awk '/status/ {print $4}')" == "ACTIVE" ]]; do
:
done
echo "VM ${RUN} (${VMUUID}) is active."
done
Vagrant Openstack (vagrant file cloud.ic)

Apos instalado o vagrant

$ vagrant plugin install vagrant-openstack-provider
$ vim $HOME/Vagrantfile
# Inicio :: Vagrantfile ::
require 'vagrant-openstack-provider'
Vagrant.configure("2") do |config|
config.ssh.username = 'ubuntu'
config.vm.provider :openstack do |os|
os.server_name = 'openwhisk'
os.identity_api_version = '3'
os.openstack_auth_url = 'http://cloud.ic.unicamp.br:5000/v3'
os.project_name = 'OPENWHISK'
os.domain_name = 'default'
os.region = 'RegionOne'
os.username = 'william'
os.password = 'suasenha123'
os.tenant_name = 'OPENWHISK'
os.flavor = 'm1.small.cpu-shared'
os.image = 'Ubuntu-xenial-server-amd64-16.04-LTS'
os.networks = 'private'
os.floating_ip_pool = 'public'
end
end
# Fim :: Vagrantfile ::

$ vagrant up
$ vagrant ssh

Se precisar do debug do Vagrant para Openstack set a variavel a seguir:

$ export VAGRANT_OPENSTACK_LOG=debug

Usando Vagrant com OpenStack: https://blog.scottlowe.org/2015/09/28/using-vagrant-with-openstack/

Administração

Habilitando permissão para um projeto ter acesso a uma imagem private.

# glance image-list

# glance image-show 16d19c89-c18c-4f0b-b44d-7d2dd535610
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | bc62ad193b085680952edfa7face0f23 |
| container_format | bare |
| created_at | 2017-12-08T15:36:58Z |
| disk_format | qcow2 |
| id | 16d19c89-c18c-4f0b-b44d-7d2dd535610 |
| min_disk | 0 |
| min_ram | 0 |
| name | WebDev-CentOS7 |
| owner | d231419875196519513741397156ad45 |
| protected | True |
| size | 1361182720 |
| status | active |
| tags | [] |
| updated_at | 2017-12-08T15:49:15Z |
| virtual_size | None |
| visibility | private |
+------------------+--------------------------------------+

# glance image-update --visibility shared 16d19c89-c18c-4f0b-b44d-7d2dd535610

# glance member-create 16d19c89-c18c-4f0b-b44d-7d2dd535610b 752972547896627398451785cda23414

# glance member-list --image-id 16d19c89-c18c-4f0b-b44d-7d2dd535610b

+--------------------------------------+----------------------------------+----------+
| Image ID | Member ID | Status |
+--------------------------------------+----------------------------------+----------+
| 16d19c89-c18c-4f0b-b44d-7d2dd535610b | d231419875196519513741397156ad45 | accepted |
| 16d19c89-c18c-4f0b-b44d-7d2dd535610b | 752972547896627398451785cda23414 | pending |
| 16d19c89-c18c-4f0b-b44d-7d2dd535610b | a987d7a56d78a697da876da8756da5c1 | accepted |
| 16d19c89-c18c-4f0b-b44d-7d2dd535610b | aad897ad87a98d6ad968a87d58a5dad8 | accepted |
| 16d19c89-c18c-4f0b-b44d-7d2dd535610b | 4ad987ad987ad6598ad85ad654ad63a0 | accepted |
+--------------------------------------+----------------------------------+----------+

# glance member-update 16d19c89-c18c-4f0b-b44d-7d2dd535610b 752972547896627398451785cda23414 accepted

Imagem set propriedades de hardware a ser utilizado.

$ openstack image set --property hw_disk_bus='ide' image_name_or_id
Outros

Quick Simple OpenStack + Hyper-V installation – YouTube. https://www.youtube.com/watch?v=TsESYPz3uGo

Mudando CIDR OpenStack. https://cloudblog.switch.ch/2015/09/22/hack-neutron-to-add-more-ip-addresses-to-an-existing-subnet/

Desabilitando Boot de Instancia no Dashboard por Volume.

## ADMSIS

#LAUNCH_INSTANCE_DEFAULTS = { # 'config_drive': False, # 'enable_scheduler_hints': True # 'disable_image': False, # 'disable_instance_snapshot': False, # 'disable_volume': True, # 'disable_volume_snapshot': False, #}

LAUNCH_INSTANCE_DEFAULTS = { 'config_drive': False, 'create_volume': False, 'disable_image': False, 'disable_instance_snapshot': False, 'disable_volume': True, 'disable_volume_snapshot': True, }

Referencia: https://ask.openstack.org/en/question/106169/disable-create-new-volume-from-horizon/

Redundância, master e slave OpenStack
Floating IP

Associar um determinado IP para um projeto:

openstack floating ip create --floating-ip-address --project
Problema cinder reserved

https://ask.openstack.org/en/question/66918/how-to-delete-volume-with-available-status-and-attached-to/

  • openstack volume delete aff365a2-49db-49a5-9e41-57e2fcac2f8c –purge
  • openstack volume delete aff365a2-49db-49a5-9e41-57e2fcac2f8c –force
  • cinder reset-state –state available –attach-status detached 0826d2bf-4150-4d51-926a-f0e10d814b90
  • cinder reset-state –state available –attach-status detached aff365a2-49db-49a5-9e41-57e2fcac2f8c
  • cinder reset-state –state available –attach-status detached 7dba9ead-9554-4118-9481-d89907967934
  • mysql> update volumes set attach_status=’detached’,status=’available’ where id ='<volumeid>’;
  • mysql> update volumes set deleted=1,status=deleted,deleted_at=now(),updated_at=now() where deleted=0 and id='7dba9ead-9554-4118-9481-d89907967934';
  • lvremove cinder-volumes/volume-7dba9ead-9554-4118-9481-d89907967934

Mais informações: https://www.openstack.org/ ou https://docs.openstack.org/queens/