Coder Social home page Coder Social logo

devstack-action's Introduction

.github/workflows/with-defaults.yml

devstack-actions

Github actions which will install OpenStack with devstack.

Example of Github Action step:

With defaults:

    steps:
      - name: Deploy devstack
        uses: EmilienM/[email protected]

With overrides:

    steps:
      - name: Deploy devstack
        uses: EmilienM/[email protected]
        with:
          branch: stable/xena
          conf_overrides:
            CINDER_ISCSI_HELPER=tgtadm
          enabled_services: 's-account,s-container,s-object,s-proxy'

devstack-action's People

Contributors

emilienm avatar iurygregory avatar lirt avatar mandre avatar nikparasyr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

devstack-action's Issues

Error: ./stack.sh:235 If you wish to run this script anyway run with FORCE=yes

Job link:
https://github.com/Jagadeeshftw/Docker-CICD/actions/runs/7513108110/job/20454500831
My workflow file:

name: Openstack Deployment

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:

    runs-on: ubuntu-latest
    steps:
      - name: Deploy devstack
        uses: EmilienM/[email protected]
        with:
          branch: stable/xena
          conf_overrides:
            CINDER_ISCSI_HELPER=tgtadm
          enabled_services: 's-account,s-container,s-object,s-proxy'

'Workaround for docker.io' removes docker in Github Action

Hello,

I'm trying to use devstack-action similar as it is used in gophercloud to run integration tests in velero plugin for openstack repository that I maintain.

The part of code with workaround for docker.io actually removes docker* packages from the VM (Tested with ubuntu-20.04).

    - name: Workaround for docker.io
      run: |
        sudo apt-get install -y runc || true
      shell: bash

This make me unable to perform test in which I need docker to create kind cluster and deploy devstack in the same job.

Solution for me would be to insert condition (input variable probably) to skip this workaround part of the code. I tested without it and for my simple use-case (swift+cinder+keystone+mysql) devstack deploys correctly. I don't know what exactly is the workaround for, so maybe also adding a comment there would help others to understand.

If you agree with my suggestion I can open the PR for the new version.

Thank you for your help.

unescaped conf_overrides can cause it to fail

The following conf_overrides causes devstack-action to fail in a non obvious way:

conf_overrides: |
    [[post-config|/etc/neutron/port_binding.yaml]]
    "create_port:binding:profile": "rule:admin_only or rule:service_api"
  # This must stay at the end to allow any overrides
  if [[ "[[post-config|/etc/neutron/port_binding.yaml]]
  "create_port:binding:profile": "rule:admin_only or rule:service_api"
  " != "" ]]; then
    echo "[[post-config|/etc/neutron/port_binding.yaml]]
  "create_port:binding:profile": "rule:admin_only or rule:service_api"
  " >> local.conf
  fi
  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
/home/runner/work/_temp/8e8cc504-91e3-483d-ae82-3043be538428.sh: line 34: conditional binary operator expected

We should use heredoc to insert overrides rather than echo to remove the need to shell escape the string.

unmaintained openstack releases

Hello,

I saw you dropped support of unmaintained releases - #21
But while it is not recommended to install these releases, a lot of people might have them installed internally and I have to check my library against them for backward compatibility. Are you planning to support them or would you accept PR with support for them?

Error/Doubt regarding using devstack action to test Ansible roles

Hi.

I'm trying to implement a PR check on my ansible collection project and wanted to start by checking a role that creates VMs on OpenStack. I've created the github action (this one) but my roles fail because Ansible is not able to connect to the auth service.

On the devstack-action log I see a message that seems to indicate that the auth service is not available (line 17810).

+ home/runner/work/k8s-infra/k8s-infra/devstack/tools/create_userrc.sh:main:241 :   read project_id project_name desc enabled
Failed to discover available identity versions when contacting http://localhost:5000/v3/. Attempting to parse version from URL.
Unable to establish connection to http://localhost:5000/v3/auth/tokens: HTTPConnectionPool(host='localhost', port=5000): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb37dee6d10>: Failed to establish a new connection: [Errno 111] Connection refused'))

On my Ansible log I have a similar message.

  TASK [openstack_vm : Get VM information] ***************************************
  fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Failed to discover available identity versions when contacting http://localhost:5000/v3/. Attempting to parse version from URL.

The services I'm enabling are the following: enabled_services: 's-account,s-container,s-object,s-proxy'

Do you know if I should be able to use this service? Would I have to enable a specific service for this?

I'm using version EmilienM/[email protected].

Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.