api-site/firstapp/samples/shade/block_storage.py

38 lines
944 B
Python

# step-1
import shade
conn = shade.openstack_cloud(cloud='myfavoriteopenstack')
# step-2
volume = conn.create_volume(size=1, display_name='test')
# step-3
volumes = conn.list_volumes()
for vol in volumes:
print(vol)
# step-4
db_group = conn.create_security_group('database', 'for database service')
conn.create_security_group_rule(db_group['name'], 22, 22, 'TCP')
conn.create_security_group_rule(db_group['name'], 3306, 3306, 'TCP')
userdata = '''#!/usr/bin/env bash
curl -L -s https://opendev.org/openstack/faafo/raw/contrib/install.sh | bash -s -- \
-i database -i messaging
'''
instance = conn.create_server(wait=True, auto_ip=False,
name='app-database',
image=image_id,
flavor=flavor_id,
key_name='demokey',
security_groups=[db_group['name']],
userdata=userdata)
# step-5
conn.attach_volume(instance, volume, '/dev/vdb')
# step-6
conn.detach_volume(instance, volume)
conn.delete_volume(volume['id'])