openstack 0.6.0

OpenStack SDK for Rust
Documentation
- hosts: all
  environment:
    OS_CLOUD: devstack-admin

  tasks:
    - name: Prepare flavor for tests
      command: openstack flavor create test-flavor --ram 512 --disk 5 --vcpu 1 --public

- hosts: all
  environment:
    OS_CLOUD: devstack
    RUST_BACKTRACE: 1
    RUST_LOG: openstack,osauth,osproto,reqwest,hyper

  tasks:
    - name: Create an SSH key for testing
      command: ssh-keygen -t rsa -N "" -f /tmp/test-key

    - name: Find a Cirros image
      shell: |
        openstack image list -f value -c ID -c Name \
          | awk '/cirros/ { print $1; exit 0; }'
      register: cirros_image_result
      failed_when: cirros_image_result.stdout == ""

    - name: Build the project
      command: cargo build --release --all-features
      args:
        chdir: '{{ project_dir }}'

    - name: Run tests
      command: cargo test -- --test-threads=1
      args:
        chdir: '{{ project_dir }}'
      environment:
        RUST_OPENSTACK_FLAVOR: test-flavor
        RUST_OPENSTACK_NETWORK: private
        RUST_OPENSTACK_IMAGE: "{{ cirros_image_result.stdout }}"
        RUST_OPENSTACK_KEYPAIR: /tmp/test-key.pub
        RUST_OPENSTACK_FLOATING_NETWORK: public

    - name: Run examples
      command: cargo run --example {{ item }}
      args:
        chdir: '{{ project_dir }}'
      with_items:
        - create-delete-port private private-subnet
        - create-update-delete-router test-router
        - create-router-with-external-gateway test-router public
        - get-flavor test-flavor
        - get-image {{ cirros_image_result.stdout }}
        - get-network private
        - list-floating-ips
        - list-images
        - list-keypairs
        - list-networks
        - list-ports
        - list-routers
        - list-servers
        - list-subnets