问题描述
我正在 ubuntu pro 18.04 LTS 上部署 openstack-stein 版本。
我在配置 keystone - 身份服务时遇到了这些行,从 article 开始。
谁能解释一下如何设置以下配置:
import React,{ useCallback,useEffect,useState } from 'react';
import { StyleSheet,Text,View,Image,Button,Modal } from 'react-native';
import { BarCodeScanner } from 'expo-barcode-scanner';
import {createCustomer@R_442_4045@ion2} from './src/graphql/mutations'
import logo from './assets/icon.png';
import Scanner from './components/QRScanner';
import custModal from './components/custInfo'
export default function App() {
const [hasPermission,setHasPermission] = useState(null);
const [scanned,setScanned] = useState(false);
// const [modalVisible,setModalVisible] = useState(false);
useEffect(() => {
(async () => {
const { status } = await BarCodeScanner.requestPermissionsAsync();
setHasPermission(status === 'granted');
})();
},[]);
const handleBarCodeScanned = ({ type,data }) => {
setScanned(true);
var newData = JSON.parse(data)
// return(
// <View>
// <Modal>
// <View>
// <Text>Test</Text>
// </View>
// </Modal>
// </View>
// )
alert(`
Customer: ${newData.name}
Email: ${newData.email}
Phone: ${newData.phone}
Favorite Drink: ${newData.favoriteDrink}
`);
// createCustomer@R_442_4045@ion2(newData)();
};
if (hasPermission === null) {
return <Text>Requesting for camera permission</Text>;
}
if (hasPermission === false) {
return <Text>No access to camera</Text>;
}
return (
<View id="view" style={styles.container}>
<BarCodeScanner
onBarCodeScanned={scanned ? undefined : handleBarCodeScanned}
style={StyleSheet.absoluteFillObject}
// If you want to use the front facing or rear facing,include type={'front'} or put 'back'
/>
{scanned && <Button title={'Tap to Scan Again'} onPress={() => setScanned(false)} />}
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,flexDirection: 'column',justifyContent: 'center',},});
如果我已经在 root 模式下,还需要这些环境变量吗?
如果问题有帮助,请为它点赞。
解决方法
您是否是 root 用户对 openstack
命令没有任何意义。 OpenStack admin 用户与 Linux root 用户无关。
您不需要这些变量,但是没有它们您的命令行会变得很长,例如 openstack --os-username=admin --os-password=ADMIN_PASS --os-project-name=admin --os-user-domain-name=Default --os-project-domain-name=Default --os-auth-url=http://controller:5000/v3 --os-identity-api-version=3 server list
。这些变量是告诉 openstack
命令它应该在哪个身份下执行其操作的最方便的方法。
如何设置?在命令行中输入它们,但最常用的方法是 putting them in a file that you source。然后,您可以为多个不同的身份(例如链接文档中的 admin
和 demo
身份)拥有多个这样的文件,这样您就可以快速从一种身份切换到另一种身份。
简而言之,当您需要通过管理帐户使用 openstack-cli 时,将这些命令放在 admin-openrc.sh
中,然后是 source admin-openrc.sh
。