-
Notifications
You must be signed in to change notification settings - Fork 0
Archive Trac jetstream openstack
madscatt edited this page Jun 20, 2026
·
1 revision
Legacy Trac archive page imported from
jetstream_openstack. Source: https://genapp.rocks/wiki/wiki/jetstream_openstack. Review age, links, and examples before treating as current.
-
don't use repo version, use instead: {{{ pip install python-openstackclient }}} or {{{ pip install --upgrade python-openstackclient }}}
-
switch to openstack command equivalents (i.e. no nova, glance etc)
-
reset stuck instance {{{nova reset-state --active}}}
-
initial comments
Emre,
I've created this new ticket to help you get started accessing
Jetstream's OpenStack API. In reading the answers you provided
to Jeremy in ticket# 45413, it looks like you'll probably be
accessing Jetstream via the OpenStack native clients.
Within Jetstream there are two authentication domains, the
default one that Atmosphere operates in and the TACC domain where
native OpenStack operations occur. The default domain utilizes
an older Keystone version 2 authentication mechanism while the
TACC domain utilizes a newer version 3 mechanism. As to the
naming, the TACC domain just refers to which username and
password you'll be using to access Openstack. Since the
usernames and passwords are different for the
default (Atmosphere) domain and the TACC domain, instances fired
up in one domain are not owned or necessarily viewable in the
other. If you have done some work in Atmosphere and want to
transfer that work to the other domain, we'll have to work with
you to make that so.
Have you ever used the OpenStack clients to create, start, stop,
and/or suspend running VM instances? The answer to this question
will determine the path we take after you complete this following
instructions. More on that later.
We need to insure that you know your TACC username and password.
You can discover your TACC username as well as reset your TACC
passwords at
https://portal.tacc.utexas.edu/password-reset/-/password/request-reset
Once you know your TACC username and password, you will need to
authenticate to Jetstream's OpenStack Horizon dashboard at
https://jblb.jetstream-cloud.org/dashboard/ Again, make sure to
you pick the TACC domain. Once you can authenticate to the
dashboard, you can either use that dashboard to start building
out your gateways or install the OpenStack command line clients
somewhere (a VM instance you fired up under Atmosphere perhaps)
and start programmatically interacting with the OpenStack API.
If you are already comfortable utilizing the OpenStack clients, then your openrc will look like
#----
export OS_PROJECT_DOMAIN_NAME=tacc
export OS_USER_DOMAIN_NAME=tacc
export OS_PROJECT_NAME=<YOUR_TACC_USERNAME>
export OS_USERNAME=<YOUR_TACC_USERNAME>
export OS_PASSWORD=<YOUR_TACC_PASSWORD>
export OS_AUTH_URL=<SEE_BELOW>
export OS_IDENTITY_API_VERSION=3
Jetstream has two API endpoints; one at IU and one at TACC; pick accordingly,
export OS_AUTH_URL=https://jblb.jetstream-cloud.org:35357/v3
export OS_AUTH_URL=https://tacc.jetstream-cloud.org:35357/v3
#----
If you are comfortable with OpenStack clients, then a command
like "glance image-list" should return something useful.
If you have never worked with OpenStack and you need help in
creating your first running instance, we can help with that as
well; but first, we need to get through the above step of
authenticating to Jetstream's Horizon dashboard. Nothing can
happen until that's working.
Please feel free to let us know if you have issues, questions, comments, and/or whatnots.
- fixed ip address
Atmosphere modifies images in a manner that is incompatible with generic Openstack operations.
As to the IP address, you can allocate that now and use it later when we get the new instance up & running.
Login to the Jetstream-Indiana Dashboard
https://jblb.jetstream-cloud.org/dashboard/
On the left side click on the Compute tab
Under Compute, click on Access & Security
Under the Access & Security banner at the top of the page
Click on Floating IPs
On the third line, click on "Allocate IP to Project" tab
You should now see an IP address in the table.
- command line ops to get started
- use ubuntu d1126e09-9e87-4f88-914f-fa42ba256c68
- comments on image naming
it's totally under your control. Again, I'll forward that
suggested note to the editors. It would be nice to have the
OpenStack Project name as part of the name and hopefully it does
not conflict with the Atmosphere generated names: hence, my
example: e.g. ${OS_PROJECT_NAME} is obvious, as is the "-api-",
the U was for an Ubuntu instance I was standing up and the "-1"
was the first one for me.
- basic instructions
Emre,
I can offer these command line instructions for standing up an
instance. You can do the same with the OpenStack GUI; but, I've
yet to write up those instructions. ...they're a work in
progress. As an FYI, API access to Jetstream was not in plan
until well into the M&O phase of operations; hence, if it seems
like we're scrambling to make API access available during the
Early Operations phase, ah, we are. My apologies.
These instructions have been sent to the documentation editors
and should be posted soon; but, to not have you waiting, I
thought I'd send you a copy of what I sent to them. You could
boot up an Atmosphere instance, install the command line clients
and create an instance using these commands. You should also be
able to see the result in the Horizon Dashboard as you execute
the commands. ...or you could get brave and see if you can find
the equivalent GUI button to click to accomplish the same thing
as with the client command.
As always, if you have questions, please feel to let us know, - geo
#———
# The OpenStack Horizon Dashboard interface (aka the GUI) is available at
https://jblb.jetstream-cloud.org/dashboard/
# The GUI has the equivalent operations as the commands listed below.
# In the near future, documentation will be forthcoming on how to do this via the GUI
#------------
# these are the command line commands to create a network, boot an instance,
# connect it to the network as well as to tear it all down.
# one option is to standup a CentOS-7 instance using Atmosphere
# then, at a minimum, install these packages.
yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
yum install -y python-glanceclient python-neutronclient python-novaclient python-openstackclient
# set up your environment variables
source openrc.sh
# steps that need to be done only once
# create a security group that will enable inbound ping & ssh
nova secgroup-create global-ssh "ssh & icmp enabled"
nova secgroup-add-rule global-ssh tcp 22 22 0.0.0.0/0
nova secgroup-add-rule global-ssh icmp -1 -1 0.0.0.0/0
# upload an ssh key if you already have one...
# assuming you want to upload id_rsa & id_rsa.pub
cd ~/.ssh
nova keypair-add --pub-key id_rsa.pub id_rsa
# ...otherwise, create a new key if you prefer...
cd ~/.ssh
ssh-keygen -b 2048 -t rsa -f ${OS_TENANT_NAME}-api-key -P ""
# and upload the key to nova
nova keypair-add --pub-key ${OS_TENANT_NAME}-api-key.pub ${OS_TENANT_NAME}-api-key
# start building your OpenStack cyberinfrastructure
# create your personal network
neutron net-create ${OS_TENANT_NAME}-api
# create a subnet within your personal network space
neutron subnet-create ${OS_TENANT_NAME}-api 10.0.0.0/8 --name ${OS_TENANT_NAME}-api-subnet1
# create a router
neutron router-create ${OS_TENANT_NAME}-api-router
# connect your subnet to the router
neutron router-interface-add ${OS_TENANT_NAME}-api-router ${OS_TENANT_NAME}-api-subnet1 # names instead of UUIDs
# connect your router to the gateway named "public"
neutron router-gateway-set ${OS_TENANT_NAME}-api-router public # not sure public will work
# end of things you'll probably only do once
# Things you'll probably do once per running instance
# create and boot an instance
nova boot ${OS_TENANT_NAME}-api-U-1 \
--flavor m1.tiny \
--image 3c3db94e-377b-4583-83d7-082d1024d74a \
--key-name ${OS_TENANT_NAME}-api-key \
--security-groups global-ssh \
--nic net-name=${OS_TENANT_NAME}-api
# create an IP address for that instance
nova floating-ip-create public
# associate that IP address with that instance
nova floating-ip-associate ${OS_TENANT_NAME}-api-U-1 149.165.170.87
# useful commands to use on your instance
nova reboot ${OS_TENANT_NAME}-api-U-1
nova suspend ${OS_TENANT_NAME}-api-U-1
nova stop ${OS_TENANT_NAME}-api-U-1
# when you are done with an instance
# delete the instance
nove delete ${OS_TENANT_NAME}-api-U-1
# disassociate the IP address from the instance
nova floating-ip-disassociate ${OS_TENANT_NAME}-api-U-1 149.165.170.87
# disconnect the router from the gateway
neutron router-gateway-clear ${OS_TENANT_NAME}-api-router
# delete the subnet from the router
neutron router-interface-delete ${OS_TENANT_NAME}-api-router ${OS_TENANT_NAME}-api-subnet1
# delete the router
neutron router-delete ${OS_TENANT_NAME}-api-router
# these commands do not have an equivalent GUI operation and can only be performed
# via the command line clients. When using the GUI, security groups must be associated
# with an instance when it is created and/or booted.
nova add-secgroup ${OS_TENANT_NAME}-api-U-1 global-ssh
nova remove-secgroup ${OS_TENANT_NAME}-api-U-1 global-ssh
#———